pname | |
GL_PACK_SWAP_BYTES GL_UNPACK_SWAP_BYTES |
Если рагат равен СЕ_Т1ШЕ, то байты в многобайтовых компонентах цвета, глубины, индекса трафарета упорядочены в обратном порядке |
GL_PACK_LSB_FIRST GLUNPACKLSBFIRST |
Если рагат равен СЦ^ПШЕ, то биты внутри байта упорядочены от младшего разряда к старшему. Этот параметр применим только к битовым массивам |
GL_PACK_ROW_LENGTH G LUNP AC KRO WLEN GTH |
Если значение рагат больше нуля, то оно определяет число пикселов в строке |
GLPACKALIGNMENT GL_UNPACK_ALIGNMENT |
Значение параметра определяет кратность выравнивания значений пикселов (1, 2, 4, 8) |
GL_PACK_SKIP_PIXELS GL_PACK_SKIP_ROWS GL_UNPACK_SKIP_PIXELS GL UNPACK SKIP ROWS |
Значение параметра позволяет пропускать заданное количество пикселов или строк |
12. Работа с библиотекой OpenGL
Параметры GL_PACK_* используются при работе с командой glReadPixel, а параметр GLUNPACK* действует только для команд glDrawPixel, glTexImagel D, glTexImage2D, glBitmap и glPolygonStipple.
12.9. Ввод/вывод цветных изображений
OpenGL поддерживает вывод и полноцветных изображений, когда для каждого пиксела задаются все величины RGBA или только некоторые из них.
Для копирования изображения из фреймбуфера в обычную память служит процедура
void gIReadPixels ( GLint х, GLint у, GLsizei width,
GLsizei height, GLenum format, GLenum type, GLvoid * pixels );
Здесь параметры (x, у) задают координаты левого нижнего угла, а параметры width и height - размеры копируемого изображения.
Параметр format отражает то, какие данные о пикселе заносятся в буфер; возможными значениями являются GLRGB, GLRGBA, GLRED, GLGREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE_ALPHA, . GL_LUMINANCE, GL_STENCIL_INDEX и GLDEPTHCOMPONENT.
Параметр type задает тип каждого из записываемых значений. Возможными значениями являются GL_UNSIGNED_BYTE, GL_BYTE, GLJ3ITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT и GL_FLOAT.
Для вывода изображения в фреймбуфер из оперативной памяти служит следующая процедура:
void gIDrawPixels ( GLsizei width, GLsizei height, Glenum format, GLenum type, const GLvoid * pixels );