Таким образом, растровые изображения и дисплеи имеют дело с дискретными данными - и в пространственном, и в цветовом отношении. Эта дискретность наряду со способностью программы оперировать в памяти непосредственно со значениями пикселов послужили основой создания специального набора программных средств для генерирования и обработки изображений.
10.2. Управление пиксельными картами Если два числа не равны никаким другим, то они равны между собой.
Один из компьютерных Законов Мерфи В этом разделе мы рассмотрим некоторые программные средства, предназначенные для манипулирования с пиксельными картами как на экране (on-screen) - когда они помещаются в буфере кадров, так и вне экрана (off-screen) - когда они находятся в обычной памяти; мы опишем также визуальные эффекты этих манипуляций. Кроме того, мы увидим, какими средствами для работы с пиксельными картами располагает OpenGL.
10.2.1. Важные операции с пиксельными картами Обрисуем в общих чертах, какие операции можно проделывать с пиксельными картами. Затем, в последующих разделах, мы рассмотрим, как выполнять каждую из этих операций и как они работают в различных ситуациях.
Рисование картинки Операции визуализации, рисующие в буфер кадров, изменяют ту пиксельную карту, которая отображается на дисплее1. Например, когда для визуализации сцены используется OpenGL, «запись» осуществляется прямо в пиксельную карту буфера кадров.
Копирование пиксельной карты из одного места в другое Вы можете скопировать пиксельную карту из одного раздела памяти в другой. На рис. 10.2 показано четыре типа копирования. На рисунке приведены четыре пиксельные карты вместе с их копиями. Операция сору (копирование) копирует изображение из одного места дисплея в другое. Операция read (чтение) копирует часть отображаемой картинки во внеэкранную (off-screen) память. Операция draw (рисование) копирует пиксельную карту из внеэкранной памяти на дисплей. Операция, которую мы будем называть тетСору (копирование памяти), делает резервную копию изображения во внеэкранной памяти.