Практическое упражнение

8.5.9. Вычисление текстурных координат для отображения среды в OpenGL

Выведем уравнение (8.23). На рис. 8.63, б показаны (в разрезе) используемые векторы в координатах глаза. Глаз смотрит с удаленной позиции в направлении (0, 0, 1). Сфера единичного радиуса расположена с отрицательной стороны оси г. Предположим, что свет поступает в направлении г и встречается со сферой в точке (х, у, г). Нормаль к этой сфере в точке (х, у, г) должна быть направлена так, чтобы свет, поступающий в направлении г, отражался в направлении (0,0,1). Это означает, что нормаль должна находиться посередине между вектором г и вектором (0, 0, 1); иначе говоря, она должна быть пропорциональна сумме этих векторов: (х, у, г)" К (гх, гу, гг + 1) для некоторого К.

О Покажите, что нормальный вектор имеет единичную длину, если К=1/р, тцер определяется уравнением (8.23).

О Покажите, что отсюда следует: (х, у) - (гх/р, гу/р).

О Предположим на минутку, что изображение текстуры простирается от -1 до 1 по х и от -1 до 1 по у. Покажите, что в точке (х, у, z) должно отражаться значение текстурного изображения в точке (х, у).

О Покажите, что если координаты текстуры изменяются от 0 до 1 по х и по у - как это принято в OpenGL, - то мы хотим видеть в точке (х, у) образ текстурных координат (s, t), определяемых уравнением (8.23).

8.6. Добавление теней объектов Тени придают изображению значительно большую реалистичность. Из каждодневного опыта нам известно, что особенности отбрасывания тени одним объектом на другой предоставляют важную зрительную информацию о том, как эти два объекта расположены по отношению друг к другу. На рис. 8.64 приведены два изображения, состоящие из куба и сферы, подвешенных над плоскостью. На рис. 8.64, а тени отсутствуют, поэтому невозможно понять, на какой высоте над плоскостью парят куб и сфера. А на рис. 8.64, б тени видны, и они дают полезную подсказку о расположении этих объектов. Тень передает большое количество информации; вы словно бросаете и второй взгляд на объект (из местонахождения источника света).


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