Реализация проектора при помощи кубической карты

Рассмотрим, каким образом можно реализовать источник света (проектор) при помощи кубической карты. Для проектора освещенность зависит от направления на источник, т. е. является функцией направления и поэтому может быть представлена при помощи кубической текстурной карты. Пусть источник света расположен в точке light. Тогда для произвольной вершины Vj в качестве текстурных координат для кубической карты, задающей распределение освещенности, возьмем значения согласно формуле(s, t, г) = Vi – light.
Затем каждой точке произвольной грани сопоставим текстурные координаты на карте освещенности, т. е. зададим падающий на нее свет. Исходя из этого, мы можем реализовать освещение таким проектором следующим образом: 1.В нулевом текстурном блоке мы разместим обычную двумерную текстуру объекта и зададим закон наложения GL_REPLACE. 2.В первом текстурном блоке мы разместим: кубическую карту, задающую распределение освещенности. В качестве закона наложения выберем GLJMODULATE, текстурные координаты будем задавать по формуле.Если мы при этом хотим задавать не только положение источника света в пространстве, но и его ориентацию, то это легко можно сделать при помощи матрицы преобразования текстурных координат. Ориентация объекта в пространстве может быть задана при помощи ортогональной матрицы (или трех углов Эйлера, или кватерниона). Тогда, если задать в качестве матрицы преобразования текстурных координат транспонированную матрицу ориентации (для ортогональных матриц транспонированная совпадает с обратной), то этого будет достаточно для моделирования ориентации источника света.

Категория: Простейшие расширения

Таги: , ,

Приветствие!

Наш сайт создан для любителей и профессионалов, для тех кому не безинтересна система под названием Linux. На нашем сайте вы найдете статьи от установки до программирования на Linux'e, отзывы о системе, советы и поддержка начинающим пользователям. Для новичком, доступен раздел "Запускаем Linux", в котором рассказывается все от "упаковки", до первого включения системы.

Архивный календарь

Март 2010
Пн Вт Ср Чт Пт Сб Вс
« Фев    
1234567
891011121314
15161718192021
22232425262728
293031  


Статистика