"Введение в OpenGL" - читать интересную книгу автораАрхитектура и особенности синтаксисаС точки зрения архитектуры, графическая система OpenGL является конвейером, состоящим из нескольких этапов обработки данных: · Аппроксимация кривых и поверхностей · Обработка вершин и сборка примитивов · Растеризация и обработка фрагментов · Операции над пикселами · Подготовка текстуры · Передача данных в буфер кадра Вообще, OpenGL можно сравнить с конечным автоматом, состояние которого определяется множеством значений специальных переменных (их имена обычно начинаются с символов GL_) и значениями текущей нормали, цвета и координат текстуры. Все эта информация будет использована при поступлении в систему координат вершины для построения фигуры, в которую она входит. Смена состояний происходит с помощью команд, которые оформляются как вызовы функций. Для обеспечения интуитивно понятных названий в OpenGL полное имя команды имеет вид:
Таким образом, имя состоит из нескольких частей: gl это имя библиотеки, в которой описана эта функция: для базовых функций OpenGL, функций из библиотек GLU, GLUT, GLAUX это gl, glu, glut, aux соответственно. Command_name имя команды [1 2 3 4] число аргументов команды [b s i f d ub us ui] тип аргумента: символ b означает тип GLbyte (аналог char в С\С++), символ f тип GLfloat (аналог float), символ i - тип GLint (аналог int) и так далее. Полный список типов и их описание можно посмотреть в файле gl.h [v] наличие этого символа показывает, что в качестве параметров функции используется указатель на массив значений Символы в квадратных скобках в некоторых названиях не используются. Например, команда glVertex2i() описана как базовая в библиотеке OpenGL, и использует в качестве параметров два целых числа, а команда glColor3fv() использует в качестве параметра указатель на массив из трех вещественных чисел. |
||
|