Как же осуществляется отображение среды? То, что вы видите в точке Р блестящего объекта, приходит в эту точку из окружающей среды как раз в том направлении, чтобы отразиться в ваш глаз. Для того чтобы определить это направление, проследите за лучом от глаза до точки Р и определите направление отраженного луча. Проследите далее за этим лучом до точки его пересечения с текстурой (на окружающем кубе или сфере). На рис. 8.62 показан луч, исходящий из глаза в точку Р. Если обозначить направление этого луча за и, а единичную нормаль в точке Р за т, то, согласно уравнению (8.2), направление отраженного луча будет равно г - и - 2(и т) т. Отраженный луч продолжается в этом направлении до пересечения с гипотетической поверхностью, которая содержит текстуру. С вычислительной точки зрения проще всего предположить, что блестящий объект находится в центре и по размерам намного
8.5. Добавление текстуры к граням меньше окружающего его куба или сферы. Тогда отраженный луч исходит приблизительно из центра объекта и его направление г может быть непосредствено использовано для указания на текстуру.
Рис. 8.62. Нахождение направления отраженного луча В OpenGL содержится подпрограмма для выполнения приближенного отображения среды для случая, когда текстура находится на большой окружающей сфере. Эта подпрограмма запускается посредством задания режима отображения для обеих текстурных координат s и t с помощью следующего кода"opengl1_585.html">⇐ Предыдущая| |Следующая ⇒