Затемнение Фонга

Затемнение Фонга

Затенение по Фонгу — метод освещения полигональных моделей.

Модели обычно задаются набором плоских выпуклых граней. Существует несколько простых методов: плоское затенение, метод Гуро и метод Фонга.

Гладкий объект от негладкого отличается тем, что на его поверхности можно задать непрерывное поле единичных векторов нормали. Для искусственного построения используется билинейная интерполяция не к значениям освещенности (как в методе Гуро), а к значениям векторов нормали, что помогает достичь более реалистичных результатов.

В качестве модели освещения в точке обычно используются следующие модели:

I=K_aI_a+K_d(\vec{n},\vec{l})\,\!

или

I=K_aI_a+K_d(\vec{n},\vec{l})+K_s(\vec{n},\vec{h})^p\,\!

где

\vec{n}\,\! — вектор нормали

\vec{l}\,\! — направление проецирования

K_a\,\! — коэффициент фонового освещения

K_s\,\! — коэффициент зеркального освещения

K_d\,\! — коэффициент диффузного освещения

Метод Фонга требует намного больше вычислений, чем метод Гуро, так как вычисления вектора нормали и освещенности производятся отдельно в каждой точке. Методы Гуро и Фонга используют значения параметров в предыдущей точке для вычисления значений параметров в следующей.

Методы Гуро и Фонга используют только векторы нормали, заданные в вершинах грани. Для нахождения вектора нормали в вершине используют нормированную взвешенную сумму векторов нормали граней, которым эта вершина принадлежит:

n=\frac{a_1 n_1+...+a_k n_k}{\left \Vert a_1 n_1+...+a_k n_k\right\|}

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное



Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»