Основные типы данных

Все команды (процедуры и функции) OpenGL начинаются с префикса gl, а все константы – с префикса GL_. Кроме того, в имена функций и процедур OpenGL входят суффиксы, несущие информацию о числе передаваемых параметров и о их типе. В таб­лице 1 приводятся вводимые OpenGL типы данных, стандартные типы языка C, которым они соответствуют, и суффиксы, которым они соответствуют.

Таблица 1 – типы данных OpenGL.

Суффикс Описание Тип в C Тип в OpenGL
b 8-битовое целое char GLbyte
s 16-битовое целое short GLshort
i 32-битовое целое long GLint GLsizei
f 32-битовое вещественное число float GLfloat, GLclampf
d 64-битовое вещественное число double GLdouble, GLclampd
ub 8-битовое беззнаковое целое unsigned char GLubyte, GLboolean
us 16-битовое беззнаковое целое unsigned short GLushort
ui 32-битовое беззнаковое целое unsigned long GLuint, GLenum, GLbitfield
    Void GLvoid

Некоторые команды OpenGL оканчиваются на букву v. Это говорит о том, что команда получает указатель на массив значений, а не сами эти значения в виде отдельных пара­метров. Многие команды имеют как векторные, так и не векторные версии. Например, конструкции

glColor3f(1.0, 1.0, 1.0);

и

GLfloat color[] = {1.0, 1.0, 1.0};

glColor3fv(color);

эквивалентны.

OpenGL можно рассматривать как автомат, находящийся в одном из нескольких со­стояний. Внутри OpenGL со­держится целый ряд переменных, например, текущий цвет или текущий режим закрашивания. Если установить текущий цвет, то все последующие объекты будут этого цвета до тех пор, пока текущий цвет не будет изменён.

По умолчанию каждая системная переменная имеет своё значение, и в любой момент значение каждой из этих переменных можно узнать. Обычно для этого используется одна из следующих функций: glGetBooleanv(), glGetDoublev(), glGetFloatv() и glGetIntegerv(). Для определения значений некоторых переменных служат специ­альные функции.

OpenGL предоставляет пользователю достаточно мощный, но низкоуровневый набор команд, и все операции высокого уровня должны выполняться в терминах этих команд. Обычно для облегчения работы вместе с OpenGL поставляется библиотека дополнитель­ных команд, каждая из которых начинается с префикса glu. В данной лек­ции будет рас­смотрена часть из этих команд.

Рисование геометрических объектов


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: