|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
OpenGL Processing Pipeline
This section takes a closer look at the stages in which data is actually processed, and ties these stages to OpenGL commands. Scroll to the end of this topic to see a more detailed block diagram of the OpenGL processing pipeline.
For most of the pipeline, you can see three vertical arrows between the major stages. These arrows represent vertices and the two primary types of data that can be associated with vertices: color values and texture coordinates. Also note that vertices are assembled into primitives, then to fragments, and finally to pixels in the frame buffer. This progression is discussed in more detail in Vertices, Primitives, Fragments, and Pixels.
As you continue reading, be aware that we've taken some liberties with command names. Many OpenGL commands are simple variations of each other, differing mostly in the data type of arguments. Some commands differ in the number of related arguments and whether those arguments can be specified as a vector or whether they must be specified separately in a list. For example, if you use the glVertex2f command, you need to supply x and y coordinates as 32-bit floating-point numbers; with glVertex3sv, you must supply an array of three short (16-bit) integer values for x, y, and z. For simplicity, only the base name of the command is used in the topics that follow, and an asterisk is included to indicate that there may be more to the actual command name than is shown. For example, glVertex stands for all variations of the command you use to specify vertices.
Also keep in mind that the effect of an OpenGL command may vary depending on whether certain modes are enabled. For example, you need to enable lighting if the lighting-related commands are to produce a properly lit object. To enable a particular mode, use the glEnable command and supply the appropriate constant to identify the mode (for example, GL_LIGHTING). Refer to glEnable for a complete list of the modes that can be enabled. Modes are disabled with glDisable.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
OpenGL, ОБРАБАТЫВАЮЩЕЕ Конвейер
Эта секция берет более близкий обзор этапов в котором данные действительно обработаны, и связывает эти этапы в команды OpenGL. Переместитесь в конец этой темы, чтобы видеть более подробную блочную диаграмму OpenGL, обрабатывающую конвейер.
Для большинство конвейера, Вы можете видеть три вертикальных стрелки между основными этапами. Эти стрелки представляют грани и два первичных типа данных, которые могут быть связаны гранями: цветные координаты величин и текстуры. Также отметьте, что грани собраны в примитивы, затем на фрагменты, и наконец на пиксели в фреймовом буфере. Это прохождение обсуждается более подробно в Гранях, Примитивах, Фрагментах, и Пикселях.
Как Вы продолжаете читаться, поймите, что мы взяли некоторые свободы с командными именами. Много команд OpenGL являются простыми изменениями друг друга, отличаясь по большей части в типе данных аргументов. Некоторые команды отличаются в ряде связанных аргументов и независимо те аргументы могут быть определены как вектор или должны они определяться отдельно в списке. Например, если Вы используете команду glVertex2f, Вам нужно поставлять x и y координаты как плавающую точку 32- битовых номеров; с glVertex3sv, Вы должны поставить массив трех целых перемычки (16- бита) величины для x, y, и z. Для простоты, только базовое имя команды использовано в темах, которые следуют, и звездочка включена, чтобы указывать, что может быть более в фактическое командное имя чем показан. Например, glVertex представляют все изменения команды, которую Вы используете, чтобы определять грани.
Также имейте в виду, который эффект команды OpenGL может поменять или определенные режимы приспособлены. Например, Вам нужно приспосабливаться освещение если связанные осветительные команды должны производить правильно освещенный объект. Для того, чтобы приспосабливаться конкретный режим, используйте команду glEnable и поставляйте подходящую константу, чтобы идентифицировать режим (например, GL_LIGHTING). Посмотрите glEnable для полного списка режимов, которые могут быть приспособлены. Режимы выведены из строя glDisable.
| |
|
|
| |