glEnable ( GL_TEXTURE_GEN_S ); glEnable ( GL_TEXTURE_GEN_T );

Запрещение автоматического вычисления осуществляется при помощи команд

glDisable ( GL_TEXTURE_GEN_S ); glDisable ( GL_TEXTURE_GEN_T );

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

Управление наложением текстуры

Помимо задания внутренних свойств самой текстуры следует задать также то, каким образом выводимая текстура накладывается на ранее выведенный фрагмент изображения.

Для задания этого в OpenGL служат следующие функции:

void glTexEnv[if](GLenum target, GLenum pname, GLtype param ); void glTexEnv[if]v(GLenum target, GLenum pname, GLtype * params );

Параметр target определяет конфигурацию текстуры и должен быть равен GL_TEXTURE_ENV.

Параметр рпагпе может принимать значения GL_TEXTlJRE_ENV_MODE или GL_TEXTURE_ENV_COLOR (последнее значение может использоваться только в векторном варианте команды).

Параметр рагат принимает одно из следующих значений: GLJMODULATE, GLDECAL или GLBLEND. Если в качестве рпате было использовано значение GLTEXTUREENVCOLOR, то params содержит указатель на массив, содержащий RGBA-значение цвета.

В табл. 4.8 приводится способ определения результирующего цвета фрагмента в зависимости от установленного режима и числа цветовых компонент текстуры.

Таблица 4.8

Число компонент

GL_MODULATE GL_DECAL GLJBLEND
CV=L,C{

Не определено

Cv=(l-L,)C/+L,Cc

\ = АД

Не определено

С,=(1-Ц)С, + ЦСе А,=АД

cv = c,

А, = А,

Не определено

c,=c,cf

А, = АД

С„ = (1-А)С/+АС,

\ = Af

Не определено

В этой таблице С, и А, обозначают цвет и а-зиачение результирующего фрагмента, через С, и А, обозначают цвет, и а-значение накладываемой текстуры, а через С, и А, обозначают цвет и а-значение фрагмента, на который осуществляется наложение. Через Сс обозначено значение цвета, устанавливаемое при помощи векторного варианта команды. Через Ц обозначена яркость текстуры (в случае, когда текстура имеет одну или две компоненты).

Часто для получения желаемого эффекта одного наложения текстуры оказывается недостаточно. В этом случае можно Использовать многократный вывод грани с различными цветами, текстурами и способами Наложения.


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