(RsSr+RdDr,GsSt+GdDt,BsSb+BdDh,AsSa+AdDa), ' (4.5)

где (Sf, Sg,-Sb, Sa)и (Dr,Dg,Db,Da) - коэффициенты смешения.

Для задания связи этих коэффициентов с а-значениями используется следующая функция:

void glBlendFunc (GLenum sfactor, GLenum dfactor );

Здесь параметр sfactor задает то, как нужно вычислять коэффициенты (S,, Sg, Sb, S„), a параметр dfactor - коэффициенты (Д., Dg,Dh, Daf Возможные значения для этих параметров приведены в табл. 4.6.

Основы библиотеки OpenGL

Таблица 4.6

Значение

Какие коэффициенты задействует

Значение коэффициентов

GL.ZERO S,D (0,0,0,0)
GL.ONE S,D

(1Л,1Д)

GL_DST_COLOR S (Rd>Gj< Bd> Ad)
GL_SRC_COLOR D (RS,GS,BS,AS)
GL_ONE_MINUS_DST_COLOR S {\,\,\,\)-{Rd,Gd,Bd,Ad)
GL_ONE_MINUS_SRC_COLOR D (l,l,l,l)-(Rs,Gs,Bs,As)
GL_SRC_ALPHA S,D (AS,AS,AS,AS)
GL_ONE_MINUS_SRC_ALPHA S,D (1,1,1,1)-(4,AS,4,4)
GL_DST_ALPHA S,D

(Л?' A/' A*»А/)

GL_ONE_MINUS_DST_ALPHA S,D (1, \,\,\)-(Ad,Ad,Ad,Ad)
GL_SRC_ALPHA_SATURATE S (/,/./,!), / = min(4,l-Ad)

Обратите внимание, что результат вывода полупрозрачных граней зависит от того, в каком порядке они выводились. Поэтому если в сцене присутствуют полупрозрачные грани, то необходимо сперва вывести все непрозрачные грани (в любом порядке), а затем отсортировать полупрозрачные грани и вывести их начиная с самой дальней (Ьаск-ю-/гоп1).

Вывод битовых изображений

OpenGL поддерживает вывод битовых масок (изображений) - когда на 1 пиксел приходится 1 бит.

Для вывода битовых масок служит процедура

void glBitmap ( GLsizei width, GLsizei height, GLfloat xo, GLfloat yo, GLfloat xi, GLfloat yi, const GLubyte * bitmap );

А. В. Бореекрв. Графика трехмерной компьютерной игры Эта процедура выводит изображение, задаваемое параметром bitmap. Битовое изображение выводится начиная с текущей растровой позиции. Параметры width и height задают размер битового изображения в пикселах. Параметры хо и уо используются для задания положения нижнего левого угла выводимого изображения относительно текущей растровой позиции, параметры xi и yi представляют собой величины, прибавляемые к текущей растровой позиции после вывода изображения.


⇐ Предыдущая| |Следующая ⇒