Модель отражения Фонга
Модель отражения Фонга (также называемая освещением Фонга или освещением Фонга ) — эмпирическая модель локального освещения точек на поверхности, разработанная исследователем компьютерной графики Буй Туонг Фонгом . В компьютерной 3D-графике это иногда называют «затенением Фонга», особенно если модель используется с одноименным методом интерполяции и в контексте пиксельных шейдеров или других мест, где расчет освещения можно назвать «затенением Фонга». штриховка ».
История [ править ]
Модель отражения Фонга была разработана Буй Туонг Фонгом из Университета Юты , который опубликовал ее в своей докторской диссертации 1975 года. диссертация. [1] [2] Он был опубликован вместе с методом интерполяции вычислений для каждого отдельного пикселя , растрированного из модели полигональной поверхности; метод интерполяции известен как затенение Фонга , даже если он используется с моделью отражения, отличной от модели Фонга. Методы Фонга считались радикальными на момент их появления, но с тех пор стали де-факто методом затенения базовой линии для многих приложений рендеринга. Методы Фонга оказались популярными благодаря эффективному использованию времени вычислений на каждый визуализируемый пиксель.
Описание [ править ]
Отражение Фонга — это эмпирическая модель локального освещения. Он описывает способ отражения света поверхностью как комбинацию диффузного отражения шероховатых поверхностей с зеркальным отражением блестящих поверхностей. Он основан на неофициальном наблюдении Фонга о том, что блестящие поверхности имеют небольшие интенсивные зеркальные блики , тогда как матовые поверхности имеют большие блики, которые постепенно исчезают. Модель также включает в себя термин «окружающий» , учитывающий небольшое количество света, рассеянного по всей сцене.
Для каждого источника света в сцене компоненты и определяются как интенсивности (часто как значения RGB ) зеркального и диффузного компонентов источников света соответственно. Один термин управляет окружающим освещением; иногда его рассчитывают как сумму вкладов всех источников света.
Для каждого материала в сцене определены следующие параметры:
- , которая представляет собой константу зеркального отражения, коэффициент отражения зеркального члена падающего света,
- , которая представляет собой константу диффузного отражения, коэффициент отражения диффузного члена падающего света ( коэффициент отражения Ламберта ),
- , которая представляет собой константу отражения окружающей среды, коэффициент отражения термина окружающей среды, присутствующего во всех точках визуализированной сцены, и
- , что является константой блеска для этого материала, которая больше для более гладких и зеркальных поверхностей. Когда эта константа велика, зеркальный блик мал.
Кроме того, существует
- , который представляет собой набор всех источников света,
- , который представляет собой вектор направления от точки на поверхности к каждому источнику света ( указывает источник света),
- , что является нормалью в данной точке поверхности,
- , то есть направление, в котором идеально отраженный луч света пойдет из этой точки на поверхности, и
- , то есть направление, указывающее на зрителя (например, виртуальную камеру).
Затем модель отражения Фонга предоставляет уравнение для расчета освещенности каждой точки поверхности. :
где вектор направления рассчитывается отражение как на поверхности, характеризующейся нормалью к поверхности с использованием
Шляпки указывают на то, что векторы нормализованы . На диффузный термин не влияет направление взгляда зрителя ( ). Зеркальный член является большим только тогда, когда направление зрителя ( ) совпадает с направлением отражения . Их выравнивание измеряется степень косинуса угла между ними. Косинус угла между нормализованными векторами и равно их скалярному произведению . Когда велико, в случае почти зеркального отражения зеркальный свет будет небольшим, поскольку любая точка обзора, не совмещенная с отражением, будет иметь косинус меньше единицы, который быстро приближается к нулю при возведении в большую степень.
Хотя приведенная выше формулировка является распространенным способом представления модели отражения Фонга, каждый член следует включать только в том случае, если скалярное произведение этого термина положительно. (Кроме того, зеркальный член следует включать только в том случае, если скалярное произведение диффузного термина положительно.)
Когда цвет представлен в виде значений RGB , как это часто бывает в компьютерной графике , это уравнение обычно моделируется отдельно для интенсивностей R, G и B, что позволяет использовать разные константы отражения. и для разных цветовых каналов .
Более эффективные в вычислительном отношении изменения [ править ]
При реализации модели отражения Фонга существует ряд методов аппроксимации модели вместо реализации точных формул, что может ускорить расчет; например, модель отражения Блинна-Фонга представляет собой модификацию модели отражения Фонга, которая более эффективна, если считать, что зритель и источник света находятся на бесконечности.
Другое приближение [3] который касается расчета возведения в степень зеркального члена, заключается в следующем: учитывая, что зеркальный член следует учитывать только в том случае, если его скалярное произведение положительно, его можно аппроксимировать как
где , и — действительное число, которое не обязательно должно быть целым. Если выбирается степенью двойки, т.е. где является целым числом, то выражение можно более эффективно вычислить, возведя в квадрат раз, т.е.
Такое приближение зеркального члена справедливо для достаточно большого целого числа (обычно 4 или 8 будет достаточно).
Кроме того, значение можно аппроксимировать как или как Последний гораздо менее чувствителен к ошибкам нормировки в и чем метод Фонга, основанный на скалярном произведении является [ нужна ссылка ] и практически не требует и быть нормализованным [ нужна ссылка ] за исключением треугольных сеток с очень низким разрешением.
Этот метод заменяет возведение переменной в степень несколькими умножениями и устраняет необходимость в точной векторной нормализации на основе обратного квадратного корня.
обратного отражения Модель Фонга
Модель отражения Фонга в сочетании с затенением Фонга представляет собой приближение затенения объектов в реальной жизни. Это означает, что уравнение Фонга может связать затенение, видимое на фотографии, с нормалями поверхности видимого объекта. Обратное относится к желанию оценить нормали к поверхности с учетом визуализированного изображения, естественного или созданного на компьютере.
Модель отражения Фонга содержит множество параметров, таких как параметр поверхностного диффузного отражения ( альбедо ), который может варьироваться в пределах объекта. Таким образом, нормали объекта на фотографии можно определить только путем введения дополнительной информации, такой как количество источников света, направления света и параметры отражения.
Например, у нас есть цилиндрический объект, например палец, и мы хотим вычислить нормаль. на линии объекта. Мы предполагаем только один источник света, отсутствие зеркального отражения и однородные известные (приблизительные) параметры отражения. Затем мы можем упростить уравнение Фонга до:
С постоянная, равная окружающему освещению и константа, равная диффузионному отражению. Мы можем переписать уравнение так:
Это можно переписать для линии, проходящей через цилиндрический объект, как:
Например, если направление света находится под углом 45 градусов над объектом. мы получаем два уравнения с двумя неизвестными.
Из-за степени двойки в уравнении существует два возможных решения для нормального направления. Таким образом, для определения правильного направления нормали необходима некоторая предварительная информация о геометрии. Нормали напрямую связаны с углами наклона линии на поверхности объекта. Таким образом, нормали позволяют рассчитать относительную высоту поверхности линии на объекте с использованием линейного интеграла, если мы предполагаем непрерывную поверхность.
Если объект не цилиндрический, у нас есть три неизвестных нормальных значения. . Тогда два уравнения по-прежнему позволяют нормали вращаться вокруг вектора обзора, поэтому необходимы дополнительные ограничения на основе предварительной геометрической информации. Например, при распознавании лиц эти геометрические ограничения могут быть получены с помощью анализа главных компонентов (PCA) в базе данных карт глубины лиц, что позволяет использовать только решения нормалей поверхности, которые встречаются в нормальной популяции. [4]
Приложения [ править ]
Модель отражения Фонга часто используется вместе с затенением Фонга для затенения поверхностей в программном обеспечении для 3D-компьютерной графики . Помимо этого, его можно использовать и для других целей. Например, его использовали для моделирования отражения теплового излучения от зондов «Пионер» в попытке объяснить аномалию «Пионер» . [5]
См. также [ править ]
- Список распространенных алгоритмов затенения
- Модель затенения Блинна – Фонга - изменение модели отражения Фонга для достижения компромисса между точностью и эффективностью вычислений.
- Затенение Фонга - метод затенения, который интерполирует векторы нормалей, а не интенсивности.
- Гамма-коррекция
- Функция распределения двунаправленной отражательной способности – обобщенные модели отражения
- Зеркальное освещение – другие уравнения зеркального освещения.
Внешние ссылки [ править ]
Ссылки [ править ]
- ^ Буй Туонг Фонг, Освещение для компьютерных изображений , Communications of ACM 18 (1975), вып. 6, 311–317.
- ^ Школа вычислительной техники Университета Юты, http://www.cs.utah.edu/school/history/#phong-ref
- ^ Лион, Ричард Ф. (2 августа 1993 г.). «Реформулировка затенения Фонга для упрощения аппаратного средства рендеринга» (PDF) . Проверено 7 марта 2011 г.
- ^ Бум, Би Джей; Спреуверс, 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 .
- ^ Ф. Франциско; О. Бертолами; ПДжС Гил; Дж. Парамос (2012). «Моделирование отражательного теплового вклада в ускорение космического корабля «Пионер». Достижения в космических исследованиях . 49 (3): 337–346. arXiv : 1103.5222 . Бибкод : 2012AdSpR..49..579S . дои : 10.1016/j.asr.2011.10.016 .