Шаг 242.
Библиотека Qt.
Формат команд 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.




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