stringtranslate.com

Зеркальная подсветка

Зеркальные блики на паре сфер

Зеркальный блик — это яркое пятно света , которое появляется на блестящих объектах при освещении (например, см. изображение справа). Зеркальные блики важны в компьютерной 3D-графике , поскольку они дают четкое визуальное представление о форме объекта и его расположении относительно источников света на сцене.

Микрофасеты

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

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

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

Модели

Существует ряд различных моделей для прогнозирования распределения микрограней. Большинство полагает, что нормали микрограней распределены вокруг нормали равномерно; эти модели называются изотропными . Если микрограни распределены с предпочтением определенного направления вдоль поверхности, то распределение является анизотропным .

ПРИМЕЧАНИЕ. В большинстве уравнений, когда говорится, это означает

Распространение Фонга

В модели отражения Фонга интенсивность зеркального блика рассчитывается как:

Где R — зеркальное отражение вектора света от поверхности, а V — вектор точки обзора.

В модели затенения Блинна-Фонга интенсивность зеркального блика рассчитывается как:

Где N — нормаль к гладкой поверхности, а H — направление половины угла (вектор направления посередине между L , вектором света, и V , вектором точки обзора).

Число n называется показателем Фонга и представляет собой выбираемое пользователем значение, которое контролирует видимую гладкость поверхности. Эти уравнения подразумевают, что распределение нормалей микрограней представляет собой приблизительно распределение Гаусса (при больших ) или приблизительно распределение Пирсона типа II соответствующего угла. [1] Хотя это полезная эвристика и дает правдоподобные результаты, она не является физически обоснованной моделью.

Еще одна аналогичная формула, но только рассчитанная по-другому:
где R — вектор отражения глаза, E — вектор глаза ( вектор обзора ), Nвектор нормали к поверхности . Все векторы нормализованы ( ). L — вектор света. Например, тогда:
Примерная формула такая:
Если вектор H нормализован, то

Гауссово распределение

Немного лучшую модель распределения микрограней можно создать с помощью распределения Гаусса . [ нужна цитация ] Обычная функция вычисляет интенсивность зеркального блика как:

где m — константа от 0 до 1, которая контролирует видимую гладкость поверхности. [2]

Распределение Бекмана

Физически обоснованной моделью распределения микрограней является распределение Бекмана: [3]

где mсреднеквадратичный наклон микрограней поверхности (шероховатость материала). [4] По сравнению с эмпирическими моделями, приведенными выше, эта функция «дает абсолютную величину коэффициента отражения без введения произвольных констант; недостатком является то, что она требует большего количества вычислений». [5] Однако эту модель можно упростить, поскольку . Также обратите внимание, что произведение и функции распределения поверхности нормируется по полусфере, которой подчиняется эта функция.

Анизотропное распределение Гейдриха – Зейделя

Гейдрих-Зейдель. Распределение [6] представляет собой простое анизотропное распределение, основанное на модели Фонга. Его можно использовать для моделирования поверхностей с небольшими параллельными канавками или волокнами, таких как матовый металл , сатин и волосы.

Параметры

Входные параметры:

Все векторы единичны.

Условия

Если какое-то из условий из списка не выполнено, то цвет равен нулю.

Примечание. Этот список не оптимизирован.

Формула

Сначала нам нужно исправить исходное направление волокна D , чтобы оно было перпендикулярно реальной нормали к поверхности N. Это можно сделать, проецируя направление волокна на плоскость с нормалью N :

Ожидается, что волокно имеет цилиндрическую форму. Обратите внимание на тот факт, что норма волокна зависит от положения источника света. Нормаль волокна в данной точке равна:

Отраженный луч, необходимый для расчета зеркального отражения:

Окончательный расчет

Оптимизация

Расчет R и P — дорогостоящая операция. Чтобы избежать их расчета, исходную формулу можно переписать в следующем виде:

Диффузный
Зеркальный

Комментарии

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

Анизотропное распределение Уорда

Анизотропное распределение Уорда [1] использует два управляемых пользователем параметра α x и α y для управления анизотропией. Если два параметра равны, получается изотропное выделение. Зеркальный член в распределении:

Зеркальный член равен нулю, если N · L < 0 или N · V < 0. Все векторы являются единичными векторами. Вектор V — направление взгляда, L — направление от точки поверхности к источнику света, H — направление половины угла между V и L , N — нормаль к поверхности, а X и Y — два ортогональных вектора в нормальной плоскости. которые задают анизотропные направления.

Модель Кука – Торренса

Модель Кука–Торранса [5] использует зеркальный член вида

.

Здесь D — коэффициент распределения Бекмана, как указано выше, а F — член Френеля . Из соображений производительности в 3D-графике реального времени аппроксимация Шлика часто используется для аппроксимации члена Френеля.

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

.

В этих формулах V — вектор камеры или глаза, H — вектор половинного угла, L — вектор источника света, N — вектор нормали, а α — угол между H и N.

Использование нескольких дистрибутивов

При желании разные распределения (обычно с использованием одной и той же функции распределения с разными значениями m или n ) можно объединить, используя средневзвешенное значение. Это полезно, например, для моделирования поверхностей, которые имеют небольшие гладкие и шероховатые участки, а не равномерную шероховатость.

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

Рекомендации

  1. ^ Ричард Лайон, «Реформулировка затенения Фонга для упрощения аппаратного средства рендеринга», Технический отчет Apple № 43, Apple Computer, Inc., 1993 PDF.
  2. ^ Гласснер, Эндрю С. (ред.). Введение в трассировку лучей. Сан-Диего: Academic Press Ltd, 1989. с. 148.
  3. ^ Петр Бекманн, Андре Спиццикино, Рассеяние электромагнитных волн на шероховатых поверхностях, Pergamon Press, 1963, 503 стр. (Переиздано Artech House, 1987, ISBN  978-0-89006-238-8 ).
  4. ^ Фоли и др. Компьютерная графика: принципы и практика . Менло-Парк: Аддисон-Уэсли, 1997. с. 764.
  5. ^ аб Р. Кук и К. Торранс. «Модель отражения для компьютерной графики». Компьютерная графика (SIGGRAPH '81 Proceedings), Vol. 15, № 3, июль 1981 г., стр. 301–316.
  6. ^ Гейдрих, Вольфганг; Зейдель, Ганс-Петер. «Эффективная визуализация анизотропных поверхностей с использованием оборудования компьютерной графики» (PDF) . Группа компьютерной графики, Университет Эрлангена . Архивировано из оригинала (PDF) 1 ноября 2011 года.