OpenGL. Компьютерная графика. Васильев С.А. - 16 стр.

UptoLike

Составители: 

18
Pname Значение param
GL_PACK_SWAP_BYTES,
GL_UNPACK_SWAP_BYT
ES
ЕСЛИ TRUE, ТО БАЙТЫ
В МНОГОБАЙТНЫХ
КОМПОНЕНТАХ ЦВЕТА,
ГЛУБИНЫ И ИНДЕКСА
ТРАФАРЕТА УПОРЯДО-
ЧЕНЫ В ОБРАТНОМ ПО-
РЯДКЕ
GL_PACK_LSB_FIRST,
GL_UNPACK_LSB_FIRST
Если TRUE, то биты внутри
байта упорядочены от млад-
ших разрядов к старшим
GL_PACK_ROW_LENGT
H,
GL_UNPACK_ROW_LEN
GTH
param определяет число
пикселей в строке
GL_PACK_SKIP_PIXELS,
GL_PACK_SKIP_ROWS,
GL_UNPACK_SKIP_PIXE
LS,
GL_UNPACK_SKIP_ROW
S
Значением param можно за-
давать количество пропускае-
мых пиксель или строк
GL_PACK_ALIGNMENT,
GL_UNPACK_ALIGNMEN
T
Выравнивание начала стро-
ки пикселей в памяти: 1 по
байту; 2 по четному байту; 4
– по слову; 8 по двойному
слову. По умолчанию 4 (по
слову)
Теперь мы можем рассмотреть пример работы команды glRasterPos*(). Пусть требуется вывести на
экран в точке с координатами (100, 50) символ Т. Образ его и соответствующие кодировочные числа
приведены на рисунке 1.
Рассмотрим эту задачу по шагам.
1 шаг: Кодировочные числа разместим в оперативной памяти.
GLubyte BitMap[24] = {
0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,
0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0xff,0xc0,0xff,0xc0};
0
xff
,
0xc0
0
xff
,
0xc0
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
0x0c
,
0x00
Рис. 1 Битовая матрица символа Т
Внимание! Битовый образ записывается в массив снизу вверх и справа налево.
2 шаг: Указываем OpenGL, что пиксели битового образа в памяти будут выровнены по байту: