OpenGL в Delphi

Простейший пример на смешение цветов




Как обычно, разобраться нам помогут примеры. Начнем с проекта из подкаталога Ех39, где на экране строятся два частично перекрывающихся треугольника (рис 4.27)

Диалог с OpenGL начинается с установки параметров смешивания:

glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;

Нет смысла приводить здесь перечень и смысл аргументов команды glBlendFunc, справка по этой команде достаточно подробна Там, в частности, говорится и о том, что прозрачность наилучшим образом осуществляется при использовании значений аргументов GL_SRC_ALPHA и GL_ONE_MINUS SRC_ALPHA, как сделано в рассматриваемом примере
Для обоих треугольников значение альфа установлено одинаковым, 0 75 Чем больше это число, тем ярче рисуются примитивы
Нажимая на клавишу Т, можно менять порядок построения треугольников, нарисованный первым располагается ниже и проглядывает сквозь следующий. Проект из подкаталога Ех40 во многом похож на предыдущий, только здесь нарисовано четыре фигуры, три прямоугольника и один квадрат В примере Дважды накладываются примитивы одной пары цветов, но в разном порядке, из-за чего различаются оттенки получающихся смесей. Следующие два примера также очень похожи друг на друга.В проекте из подкаталога Ех41 на сцене присутствуют два объекта непрозрачная сфера и полупрозрачный куб (рис 4 28).



Содержание раздела