ВУЗ:
Составители:
Рубрика:
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, что пиксели битового образа в памяти будут выровнены по байту:
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »
