OpenGL. Компьютерная графика. Васильев С.А. - 41 стр.

UptoLike

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

43
glEnd();
Другой способ задания сопоставления координат текстуры с координатами вершин объекта основан
на задании некоторой функции, которая в текущий момент времени рассчитывает координаты текстуры
для каждой вершины объекта. И реализовано это командами
void glTexGen[i f d](
GLenum coord,
GLenum pname,
GLtype param)
void glTexGen[i f d]v(
GLenum coord,
GLenum pname,
const GLtype *params)
Параметр coord определяет координату текстуры, к которым будет применяться функция преобра-
зования, и может принимать одно из значений GL_S, GL_T, GL_R или GL_Q.
Имя параметра pname должно принимать значение GL_TEXTURE_GEN_MODE (для первой ко-
манды).
В качестве параметра param можно использовать следующие значения: GL_OBJECT_LINEAR,
GL_EYE_LINEAR или GL_SPHERE_MAP.
Параметр Описание
GL_OBJECT_LINE
AR
СООТВЕТСТВУЮЩИЕ КО-
ОРДИНАТЫ S, T, R ИЛИ Q ВЫ-
ЧИСЛЯЮТСЯ ПО ФОРМУЛЕ
04030201
wpzpxpxpg
+
+
+= ,
ГДЕ
41
,..., pp – ЗНАЧЕНИЯ, НА-
ХОДЯЩИЕСЯ В PARAMS;
00
,..., wx
– МИРОВЫЕ КООРДИНАТЫ
ВЕРШИНЫ (СМ. MSDN)
GL_EYE_LINEAR
Соответствующие координаты s, t,
r или q вычисляются по формуле
eeee
wpzpxpxpg
4321
+
+
+= ,
где
1
43214321
),,,(),,,(
= Mpppppppp ;
M – матрица видового преобразова-
ния;
ee
wx ,..., – видовые координаты
вершины. Координаты текстуры объ-
екта в этом случае зависят от поло-
жения объекта (см. MSDN)
GL_SPHERE_MAP
Дана функция позволяет модели-
ровать эффект зеркального отраже-
ния от поверхности объекта. Для ее
исполнения требуются видовые ко-
ординаты и задание нормалей (см.
MSDN)
Включение автоматического режима задания текстурных координат осуществляется командой
glEnable с параметром GL_TEXTURE_GEN_S или GL_TEXTURE_GEN_P.
13.2 Работа со светом
OpenGL дает богатые возможности разработчику моделировать реалистическую графику сцен, где
присутствует свет. Предусмотрен механизм задания световых характеристик материала объекта, пара-
метров источников света и модели освещения. Рассмотрим эти возможности.
13.2.1 Задание свойств материала объекта
В OpenGL свойства материалов задаются командами