Кубические карты: определение. V t R Точка R


Кубические карты: определение. V t R Точка R = R(t), t = (p,q,r) определяет одну из шести текстур и текстурные координаты. (p,q,r)->RGBA Расширение “GL_EXT_cube_map” C вершиной V связано три текстурные координаты (p,q,r). x y z

Кубические карты среды. n P’ е r R Необходимо применить к текстурным координатам преобразование, обратное модельно-видовому! x y z

Кубические карты освещения. t P’ Пусть источники освещения находятся далеко от объекта. Тогда освещение в точке объекта зависит только от нормали. x y z Заранее запишем результат расчета освещенности для нормали n в элемент кубической текстуры с координатами n.

Динамические отражения O Переносим наблюдателя в центр отражающего объекта и строим изображение, полученное при взгляде в направлении нормали к одной из сторон. Сохраняем изображение на экране как кубическую текстуру! void glCopyTexImage2D( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, Glsizei width, GLsizei height, GLint border ); Рисуем объект с кубическими картами отражения.

Закраска по Фонгу Уравнение освещенности Направление на источник освещения l и направление на наблюдателя e от точки не зависят. Вектор h тоже постоянен. Вершинная программа преобразует поступившие на вход координаты вершины и нормали. Преобразованная нормаль интерполируется вдоль примитива как color0.

Преобразование нормалей Уравнение плоскости Преобразуем координаты при помощи матрицы M

Смешение матриц В качестве атрибутов вершин задаются несколько весов, определяющих вклад соответствующих матриц в преобразование координат. Две матрицы Четыре матрицы

Bump-mapping На поверхности задается система координат Компоненты текстуры RGB задают нормаль в связанной с поверхностью системе координат Для расчета освещения направления на источник освещения и направление на наблюдателя преобразуются в связанную с поверхностью систему координат n t b Для расчета отражения вектор нормали преобразуется в систему координат наблюдателя. Затем рассчитывается отражения (sphere map или cube map)

Bump-mapping На поверхности задается система координат n t b