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

редактировать
Плоское затенение (слева) против затенения Фонга (справа)

В 3D компьютерной графике, Затенение Фонга - это метод интерполяции для поверхностного затенения, изобретенный пионером компьютерной графики Буй Туонг Фонг. Это также называется интерполяцией Фонга или штриховкой с интерполяцией вектора нормали. Он интерполирует нормали поверхности по растеризованным многоугольникам и вычисляет цвета пикселя на основе интерполированных нормалей и модели отражения. Затенение Фонга может также относиться к конкретной комбинации интерполяции Фонга и модели отражения Фонга.

Содержание

  • 1 История
  • 2 Интерполяция Фонга
  • 3 Модель отражения Фонга
  • 4 См. Также
  • 5 Ссылки

История

Затенение Фонга и модель отражения Фонга были разработаны в Университете штата Юта Буй Туонг Фонг, который опубликовал их в своей докторской диссертации 1973 года и статье 1975 года. Во время своего появления методы Фонга считались радикальными, но с тех пор стали де-факто базовым методом затенения для многих приложений визуализации. Методы Фонга оказались популярными из-за их в целом эффективного использования времени вычислений на визуализированный пиксель.

Интерполяция Фонга

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

Самая серьезная проблема с затенением по Гуро возникает, когда зеркальные блики находятся в середине большого многоугольника. Поскольку эти зеркальные блики отсутствуют в вершинах многоугольника, а затенение по Гуро интерполируется на основе цветов вершин, зеркальные блики будут отсутствовать во внутренней части многоугольника. Эта проблема устраняется затенением по Фонгу.

В отличие от затенения по Гуро, которое интерполирует цвета по полигонам, при затенении Фонга вектор нормали линейно интерполируется по поверхности многоугольника от нормалей вершин многоугольника. Нормаль к поверхности интерполируется и нормализуется в каждом пикселе, а затем используется в модели отражения, например модель отражения Фонга, чтобы получить окончательный цвет пикселя. Затенение Фонга требует больших вычислительных затрат, чем затенение Гуро, поскольку модель отражения должна вычисляться для каждого пикселя, а не для каждой вершины.

В современном графическом оборудовании варианты этого алгоритма реализуются с использованием пиксельных или фрагментных шейдеров.

Модель отражения Фонга

Затенение Фонга может также относиться к конкретной комбинации интерполяции Фонга и модель отражения Фонга, которая представляет собой эмпирическую модель местного освещения. Он описывает способ отражения света поверхностью как комбинацию диффузного отражения шероховатых поверхностей с зеркального отражения блестящих поверхностей. Он основан на неофициальном наблюдении Буй Туонг Фонга о том, что блестящие поверхности имеют небольшие интенсивные зеркальные блики, в то время как тусклые поверхности имеют большие блики, которые постепенно исчезают. Модель отражения также включает окружающий термин для учета небольшого количества света, рассеянного по всей сцене.

Визуальная иллюстрация уравнения Фонга: здесь свет белый, окружающий и рассеянный цвета - синие, а зеркальный цвет - белый, отражающий небольшую часть света, падающего на поверхность, но только в очень узких местах. Интенсивность диффузного компонента меняется в зависимости от направления поверхности, а внешний компонент однороден (независимо от направления).

См. Также

Ссылки

Последняя правка сделана 2021-06-02 04:03:39
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте