Модель отражения Блинна–Фонга
-
Описание модели отражения Блинна-Фонга
- Модификация модели отражения Фонга, разработанная Джимом Блинном.
- Используется в конвейерах с фиксированными функциями OpenGL и Direct3D.
- Выполняется для каждой вершины, интерполируя значения пикселей с помощью затенения Гуро.
-
Описание процесса затенения
- При использовании модели Фонга необходимо пересчитывать скалярное произведение между наблюдателем и лучом от источника света.
- В модели Блинна-Фонга скалярное произведение заменяется на векторное произведение между нормализованной поверхностью и нормалью к ней.
- Угол между вектором и нормалью называется средним углом и может быть использован для создания более точных отражений.
-
Эффективность модели
- Модель Блинна-Фонга работает быстрее, чем модель Фонга, при удаленном расположении зрителя и источника света.
- Промежуточный вектор не зависит от положения и кривизны поверхности, что позволяет его вычислять один раз для всего кадра.
- В 3D-сценах с перспективными камерами оптимизация невозможна.
-
Примеры кода
- Представлены примеры кода на языке затенения высокого уровня и языке затенения OpenGL.
- Шейдеры реализуют фонговое затенение и модель Блинна-Фонга для расчета рассеянного и зеркального света.
- Приведены рекомендации по гамма-коррекции и линеаризации цветов из изображений с гамма-коррекцией.