59
Константа Тест завершается положительно…
GL_EQUAL
Если поступающее z-значение равно хра-
нящемуся в буфере глубины
GL_LEQUAL
Если поступающее z-значение меньше или
равно, чем хранящееся в буфере глубины
GL_GREATE
R
Если поступающее z-значение больше, чем
хранящееся в буфере глубины
GL_NOTEQU
EL
Если поступающее z-значение не равно
хранящемуся в буфере глубины
GL_GEQUAL
Если поступающее z-значение больше или
равно, чем хранящееся в буфере глубины
GL_ALWAYS
Всегда
По умолчанию функция сравнения задана как GL_ LESS.
14.5 Буфер изображения
Для копирования цветного изображения из буфера изображения в обычную оперативную память
используется команда:
void glReadPixels (GLint x, GLint y,
GLsizei width, GLsizei height,
GLenum format, GLenum type, GLvoid *pixels)
Параметры x и y задают левый нижний угол копируемого изображения, ширина которого width и
высота height. Параметром format можно указать, что именно от пиксель необходимо копировать. Для
этого предусмотрены следующие символьные константы: GL_RED, GL_GREEN, GL_BLUE,
GL_ALPHA, GL_RGB, GL_RGBA, GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_LUMINANCE,
GL_DEPTH_COMPONENT и т.д. (см. MSDN). Параметр type задает тип записываемых значений и
может принимать следующие значения: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP,
GL_UNSIGNED_SHORT, GL_SHORT, GL_FLOAT, GL_INT и GL_UNSIGNED_INT. Место для раз-
мещения изображения в оперативной памяти указывается параметром pixels.
Для записи изображения из оперативной памяти в буфер изображения используется команда
void glDrawPixels (GLsizei width, GLsizei height,
GLenum format, GLenum type,GLvoid *pixels)
После отработки данной команды изображение должно появиться начиная с текущей позиции рас-
тра. Позицию можно задать, например, командой glRasterPos().
Для копирования цветного изображения из одного участка буфера в другой участок, минуя опера-
тивную память, используется команда
void glCopyPixels (GLint x, GLint y,
GLsizei width, GLsizei height, GLenum format)
Параметры x и y задают левый нижний угол копируемого изображения, ширина которого width и
высота height. Параметром format можно указать, что именно от пиксель необходимо копировать (см.
команду glReadPixels()). Позицию для размещения фрагмента изображения можно задать, например,
командой glRasterPos().
15 ГРУППЫ АТРИБУТОВ
Работая с OpenGL разработчик вынужден постоянно изменять некоторые параметры примитивов
графической библиотеки. Для того чтобы изменение параметров не влияло на состояние других прими-
тивов существуют команды для сохранения и восстановления текущих параметров примитивов.
void glPushAttrib (GLbitfield mask)
void glPopAttrib ()
Первая команда сохраняет в стеке все атрибуты, указанные битами в параметре mask. glPopAttrib()
восстанавливает значения тех переменных состояния, которые были сохранены командой
glPushAttrib(). Возможные значения параметра mask: