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-А)С/+АС,
|
Не определено |
В этой таблице С, и А, обозначают цвет и а-зиачение результирующего фрагмента, через С, и А, обозначают цвет, и а-значение накладываемой текстуры, а через С, и А, обозначают цвет и а-значение фрагмента, на который осуществляется наложение. Через Сс обозначено значение цвета, устанавливаемое при помощи векторного варианта команды. Через Ц обозначена яркость текстуры (в случае, когда текстура имеет одну или две компоненты).
Часто для получения желаемого эффекта одного наложения текстуры оказывается недостаточно. В этом случае можно Использовать многократный вывод грани с различными цветами, текстурами и способами Наложения.