Формат команд OpenGL

   
На этом шаге рассмотрим формат команд OpenGL.

   
Библиотека OpenGL не является объектно-ориентированной. При работе с библиотекой разработчик имеет дело только с функциями, переменными и константами. Имена всех функций OpenGL начинаются с букв gl, а констант — с GL_. В имена функций входят суффиксы, говорящие о количестве и типе передаваемых параметров. Например, прототип функции glColor3f() говорит о том, что в нее должны передаваться три значения с плавающей точкой (рис. 1).


Рис.1. Формат команд OpenGL

   
Поэтому при описании функций в OpenGL, чтобы не повторяться, принято вместо числа передаваемых аргументов и их типа ставить символ *. Итак, общий вид для упомянутой ранее функции будет выглядеть следующим образом: glColor*(). При этом подразумевается, что речь идет не об одной функции, а о целой серии функций, начинающихся с glColor.

   
В табл. 1 указаны символы суффиксов и типы, используемые в OpenGL:

Таблица 1. Суффиксы и типы OpenGL

Суффикс Тип OpenGL C++ Эквивалент Описание
b GLbyte Char Байт
s GLshort Short Короткое целое
i GLint Int Целое
f GLfloat float С плавающей точкой
d GLdouble double С плавающей точкой двойной точности
ub GLubyte unsigned byte Байт без знака
us GLushort usnigned short Короткое целое без знака
ui GLuint unsigned int Целое без знака
GL_ GLenum Enum Перечисление
v     Массив из n параметров

   
Суффикс v говорит о том, что функция принимает массив. Например, массив из трех значений с плавающей точкой в функцию glColor3fv() передается следующим образом:

GLfloat a[] = {1.0f, 0.0f, 0.0f}
glColor3fv(a);

   
На следующем шаге рассмотрим классы Qt для работы с OpenGL.

Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий