|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Porting Pixel Operations
When porting code that involves pixel operations, keep the following points in mind:
· Logical pixel operations are not applied to RGBA color buffers. For more information, see glLogicOp. · In general, IRIS GL uses the format ABGR for pixels, whereas OpenGL uses RGBA. You can change the format with glPixelStore. · When porting lrectwrite functions, be careful to note where lrectwrite is writing (for instance, it could be writing to the depth buffer).
OpenGL gives you some additional flexibility in pixel operations. The following table lists IRIS GL functions for pixel operations and their OpenGL equivalents.
IRIS GL Call OpenGL Call Meaning lrectread, rectread,readRGB glReadPixels Read a block of pixels from the frame buffer. lrectwrite, rectwrite glDrawPixels Write a block of pixels to the frame buffer. rectcopy glCopyPixels Copy pixels in the frame buffer. rectzoom glPixelZoom Specify pixel zoom factors for glDrawPixels and glCopyPixels. cmov glRasterPos Specify raster position for pixel operations. readsource glReadBuffer Select a color buffer source for pixels. pixmode glPixelStore Set pixel storage modes. pixmode glPixelTransfer Set pixel transfer modes. logicop glLogicOp Specify a logical operation for pixel writes. ѕ glEnable(GL_LOGIC_OP) Turn on pixel logic operations.
For a complete list of possible logical operations, see glLogicOp. This IRIS GL code fragment shows a typical pixel write:
unsigned long *packedRaster; ... packedRaster[k] = 0x00000000; ... lrectwrite(0, 0, xSize, ySize, packedRaster);
The preceding code looks like this when translated to OpenGL:
glRasterPos2i( 0, 0); glDrawPixels( xSize + 1, ySize + 1, GL_RGBA, GL_UNSIGNED_BYTE, packedRaster);
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Перенесение Действий Пикселя
При перенесении кода, которое включает действия пикселя, держит следующее точек в уме:
Логические действия пикселя не приложены к цветным буферам RGBA. Более подробно, смотри glLogicOp. В общих чертах, IRIS GL использует формат ABGR для пикселей, поскольку OpenGL использует RGBA. Вы можете изменить формат с glPixelStore. При перенесении lrectwrite функции, будут осторожными, чтобы отмечаться где lrectwrite пишет (например, это могло бы писаться в глубинный буфер).
OpenGL ДАЕТ Вам немного дополнительную гибкость на операциях пикселя. Следующая таблица включает функциям IRIS GL для операций пикселя и их эквивалентов OpenGL.
ВЫЗОВ Вызова ИРИСА GL Значения OpenGL lrectread, rectread,readRGB glReadPixels был Прочитан блок пикселей из фреймового буфера. lrectwrite, rectwrite glDrawPixels Записывает блока пикселей в фреймовый буфер. rectcopy пиксели Копии glCopyPixels в фреймовом буфере. rectzoom glPixelZoom Определяет изменение масштаба показателей пикселя для glDrawPixels и glCopyPixels. cmov glRasterPos Определяет растровую позицию для операций пикселя. readsource glReadBuffer Выбирается цветной буферный источник для пикселей. pixmode glPixelStore был Установлен режимы памяти пикселя. pixmode glPixelTransfer был Установлен режимы передачи пикселя. logicop glLogicOp Определяет логическую операцию для пикселя записывает. U glEnable Включать(GL_LOGIC_OP) логические операции пикселя.
Для полного списка возможных логических операций, смотри glLogicOp. Этот кодовый фрагмент IRIS GL показывает типичный пиксель записывать:
без знака длинный *packedRaster; ... packedRaster[k] = 0x00000000; ... lrectwrite(0, 0, xSize, ySize, packedRaster);
Предыдущий код выглядит похожим на это когда переведено на OpenGL:
glRasterPos2i( 0, 0); glDrawPixels( xSize + 1, ySize + 1, GL_RGBA, GL_UNSIGNED_BYTE, packedRaster);
| |
|
|
| |