stringtranslate.com

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

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

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

История

Модель отражения Фонга была разработана Буй Туонг Фонгом в Университете Юты , который опубликовал ее в своей докторской диссертации 1975 года. [1] [2] Она была опубликована вместе с методом интерполяции расчета для каждого отдельного пикселя , который растеризован из модели полигональной поверхности; метод интерполяции известен как затенение Фонга , даже когда он используется с моделью отражения, отличной от модели Фонга. Методы Фонга считались радикальными во время их введения, но с тех пор стали фактическим базовым методом затенения для многих приложений рендеринга. Методы Фонга оказались популярными из-за их в целом эффективного использования времени вычислений на каждый визуализированный пиксель.

Концепции

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

Для каждого источника света в сцене компоненты и определяются как интенсивности (часто как значения RGB ) зеркальных и диффузных компонентов источников света соответственно. Один термин управляет окружающим освещением; иногда он вычисляется как сумма вкладов от всех источников света.

Для каждого материала в сцене определены следующие параметры:

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

Кроме того, есть

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

Затем модель отражения Фонга предоставляет уравнение для расчета освещенности каждой точки поверхности :

где вектор направления вычисляется как отражение на поверхности, характеризуемой нормалью к поверхности, с использованием

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

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

Когда цвет представлен в виде значений RGB , как это часто бывает в компьютерной графике , это уравнение обычно моделируется отдельно для интенсивностей R, G и B, что позволяет использовать различные константы отражения и для различных цветовых каналов .

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

Другое приближение [3] , которое касается расчета экспоненты в зеркальном члене, выглядит следующим образом: Учитывая, что зеркальный член следует учитывать только в том случае, если его скалярное произведение положительно, его можно аппроксимировать как

где , и является действительным числом, которое не обязательно должно быть целым числом. Если выбрано как степень 2, т.е. где является целым числом, то выражение может быть более эффективно вычислено путем возведения в квадрат, т.е.

Это приближение зеркального члена справедливо для достаточно большого целого числа (обычно достаточно 4 или 8).

Более того, значение может быть приближено как , или как Последнее гораздо менее чувствительно к ошибкам нормализации в и , чем скалярное произведение Фонга [ необходима ссылка ] , и практически не требует нормализации и [ необходима ссылка ] за исключением треугольных сеток с очень низким разрешением.

Этот метод заменяет несколько умножений на переменную экспоненту и устраняет необходимость в точной векторной нормализации на основе обратного квадратного корня.

Обратная модель

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

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

Например, у нас есть цилиндрический объект, например палец, и мы хотим вычислить нормаль на линии объекта. Мы предполагаем только один источник света, отсутствие зеркального отражения и однородные известные (приблизительные) параметры отражения. Затем мы можем упростить уравнение Фонга до:

С константой, равной окружающему свету, и константой, равной диффузному отражению. Мы можем переписать уравнение следующим образом:

Что можно переписать для линии, проходящей через цилиндрический объект, как:

Например, если направление света находится под углом 45 градусов к объекту, мы получаем два уравнения с двумя неизвестными.

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

Если объект не цилиндрический, у нас есть три неизвестных нормальных значения . Тогда два уравнения все еще позволяют нормали вращаться вокруг вектора вида, поэтому необходимы дополнительные ограничения из предшествующей геометрической информации. Например, при распознавании лиц эти геометрические ограничения могут быть получены с помощью анализа главных компонент (PCA) на базе данных карт глубины лиц, допуская только решения нормалей поверхности, которые находятся в нормальной популяции. [4]

Приложения

Модель отражения Фонга часто используется вместе с затенением Фонга для затенения поверхностей в программном обеспечении для трехмерной компьютерной графики . Помимо этого, она может также использоваться для других целей. Например, она использовалась для моделирования отражения теплового излучения от зондов Pioneer в попытке объяснить аномалию Pioneer . [5]

Смотрите также

Ссылки

  1. ^ Буй Туонг Фонг, Освещение для изображений, созданных компьютером, Communications of ACM 18 (1975), № 6, 311–317.
  2. ^ Школа вычислительной техники Университета Юты, http://www.cs.utah.edu/school/history/#phong-ref
  3. ^ Lyon, Richard F. (2 августа 1993 г.). "Phong Shading Reformulation for Hardware Renderer Simplification" (PDF) . Получено 7 марта 2011 г. .
  4. ^ Бум, Би Джей; Спреуверс, LJ; Вельдхейс, RNJ (сентябрь 2009 г.). Цзян, Сяои; Петков, Николай (ред.). Коррекция освещенности на основе модели для изображений лиц в неконтролируемых сценариях. Конспекты лекций по информатике. Том. 5702. стр. 33–40. Бибкод : 2009LNCS.5702.....J. дои : 10.1007/978-3-642-03767-2. hdl : 11693/26732 . ISBN 978-3-642-03766-5.
  5. ^ F. Francisco; O. Bertolami; PJS Gil; J. Páramos (2012). «Моделирование отражательного теплового вклада в ускорение космического корабля Pioneer». Advances in Space Research . 49 (3): 337–346. arXiv : 1103.5222 . Bibcode : 2012AdSpR..49..579S. doi : 10.1016/j.asr.2011.10.016.

Внешние ссылки