d<- s.

В этом режиме значение s заменяет прежнее значение d. Режим 7 соответствует логической операции OR (ИЛИ):

d<r-sMd.

Если выполняется запись цвета переднего плана поверх цвета фона, то в режимах 3 и 7 получится одинаковый результат, но если записывается цвет фона поверх цвета переднего плана, то результат будет разным. Какой режим выбрать, зависит от того, какой эффект желательно получить в данном приложении.

Логические операции над двумя однобитовыми величинами

Рис. 9.21. Логические операции над двумя однобитовыми величинами

9.5.2. Режим записи ХСЖ

Режим 6 соответствует логической операции X0R (исключающее ИЛИ), которая обозначается значком ©. Этот режим позволяет получать очень интересный эффект при использовании его в графических системах для операций с содержимым буфера кадра. В отличие от режимов 3 и 12, режим 6 нельзя реализовать, если невозможно прочесть прежнее состояние бита d. Интересные особенности режима 6 связаны с тем, что для функции X0R переменных х и у справедливо соотношение

(х®у)®у = х.

Таким образом, если по отношению к некоторому биту дважды применить функцию X0R, то получим исходное значение бита, каким оно было до выполнения операций.

На рис. 9.22 режимы 6 и 7 представлены в виде изображений, которые образуются в результате вывода содержимого буфера кадра, образованного после выполнения операций записи в этих режимах.

9.5. Запись в буферы Очень часто этот режим используется в приложениях, в которых пользователь интенсивно взаимодействует с программой с помощью разных меню. (Такую программу мы рассматривали в главе 3.) В ответ на щелчок кнопкой мыши на экране должно появиться меню, которое частично перекроет ранее сформированное изображение. После того как пользователь завершит работу с меню, его нужно убрать с экрана, а в области, перекрытой этим меню, восстановить исходное изображение. Иногда такая операция реализуется с помощью дополнительной памяти, в которой хранится растровый образ меню в виде битового блока М. Обозначим через 5 содержимое той части буфера кадра, которая соответствует участку основного изображения, перекрываемому образом меню при выводе последнего на экран. Рассмотрим последовательность операций"opengl5_434.html">⇐ Предыдущая| |Следующая ⇒