Основы компьютерной графики для программистов. Казанцев А.В. - 91 стр.

UptoLike

Составители: 

Основы компьютерной графики для программистов 91
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
В случае когда pname= GL_TEXTURE_ENV_MODE доступны три варианта вызова
функции:
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL),
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND),
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE).
Когда
pname=GL_TEXTURE_ENV_COLOR, то третий параметр представляет собой
указатель на четырехкомпонентный массив цвета:
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, @CColor),
где переменная описана как
var
CColor: array[1..4]of Glfloat;
По умолчанию для этих команд установлены значения: GL_MODULATE для режима
GL_TEXTURE_ENV_MODE и цвет (0,0,0,0) для режима GL_TEXTURE_ENV_COLOR.
Далее в таблице, в соответствии с [15], приводятся варианты формирования
результирующей функции преобразования с помощью команды
glTexEnv.
Количество
цветовых
компонент
GL_MODULATE GL_DECAL GL_BLEND
1 C
v
=L
t
C
f
нет C
v
=(1-L
t
)C
f
+L
t
C
c
A
v
=A
f
2 C
v
=L
t
C
f
A
v
=A
f
A
t
Нет C
v
=(1-L
t
)C
f
+L
t
C
c
A
v
=A
f
A
t
3 C
v
=C
t
C
f
A=A
C
v
=C
t
A
v
=A
f
нет
4 С
v
=С
t
С
f
A
v
=A
f
A
t
C
v
=(1-A
t
)C
f
+A
t
C
t
A
v
=A
f
нет
Здесь A – значение альфа канала; L – яркость. Для двухкомпонентных изображений
цвет состоит из компонент яркости L и альфа составляющей A. Трехкомпонентный
цвет в качестве яркости использует три цветовые компоненты C, а
четырехкомпонентный цвет использует C и A.
Индексы в формулах: f – фрагмент, на который накладывается текстура, t – образ
текстуры, c – цвет конфигурации текстуры, v – результирующее значение.
Из практических экспериментов можно заметить,
что для обычных матовых
поверхностей хороший визуальный эффект получается использованием режима
GL_MODULATE. Простой режим отображения текстуры с эффектом
Основы компьютерной графики для программистов                                                                  91
____________________________________________________________________________________________________________________



В случае когда pname= GL_TEXTURE_ENV_MODE доступны три варианта вызова
функции:
     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL),
     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND),
     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE).

Когда pname=GL_TEXTURE_ENV_COLOR, то третий параметр представляет собой
указатель на четырехкомпонентный массив цвета:


     glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, @CColor),

где переменная описана как

  var
    CColor: array[1..4]of Glfloat;


По умолчанию для этих команд установлены значения: GL_MODULATE для режима
GL_TEXTURE_ENV_MODE и цвет (0,0,0,0) для режима GL_TEXTURE_ENV_COLOR.
Далее в таблице, в соответствии с [15], приводятся варианты формирования
результирующей функции преобразования с помощью команды glTexEnv.
Количество                     GL_MODULATE            GL_DECAL                        GL_BLEND
цветовых
компонент
1                              Cv=LtCf                нет                             Cv=(1-Lt)Cf+LtCc
                                                                                                Av=Af
2                              Cv=LtCf                Нет                             Cv=(1-Lt)Cf+LtCc
                               Av=AfAt                                                          Av=AfAt
3                              Cv=CtCf                Cv=Ct                           нет
                               A=A                    Av=Af
4                              Сv=СtСf                Cv=(1-At)Cf+AtCt                нет
                               Av=AfAt                Av=Af


Здесь A – значение альфа канала; L – яркость. Для двухкомпонентных изображений
цвет состоит из компонент яркости L и альфа составляющей A. Трехкомпонентный
цвет в качестве яркости использует три цветовые компоненты C, а
четырехкомпонентный цвет использует C и A.
Индексы в формулах: f – фрагмент, на который накладывается текстура, t – образ
текстуры, c – цвет конфигурации текстуры, v – результирующее значение.
Из практических экспериментов можно заметить, что для обычных матовых
поверхностей хороший визуальный эффект получается использованием режима
GL_MODULATE.      Простой   режим  отображения   текстуры   с   эффектом


http://www.ksu.ru/persons/9134.ru.html