Зеркальный свет - Specular highlight - Wikipedia

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

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

Микрофасетки

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

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

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

Модели

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

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

Распределение по Фонгу

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

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

в Модель затенения Блинна – Фонга, интенсивность зеркального блика рассчитывается как:

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

D - Направление резьбы (в исходных документах это отображается как Т )
s - Показатель блеска. Значения от 0 до бесконечности
N - Реальная поверхность нормальная
L - Вектор от точки к свету
V - Вектор от точки к зрителю
Т - Направление резьбы основано на реальной нормали к поверхности.
п - Проекция вектора L на плоскость с нормалью T (в исходной статье это выглядит как N ).
р - Отраженный падающий световой луч против Т. Входящий световой луч равен отрицательному L.

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

Условия

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

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

Формула

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

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

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

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

Оптимизация

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

Размытый
Зеркальный

Комментарии

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

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

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

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

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

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

.

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

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

.

В этих формулах V - вектор к камере или глазу, H - вектор половинного угла, L - вектор к источнику света, N - нормальный вектор, а α - угол между H и 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. ^ Foley et al. Компьютерная графика: принципы и практика. Менло-Парк: Аддисон-Уэсли, 1997. стр. 764.
  5. ^ а б Р. Кук и К. Торранс. "Модель отражательной способности для компьютерной графики Компьютерная графика (материалы SIGGRAPH '81), том 15, № 3, июль 1981 г., стр. 301–316.
  6. ^ Вольфганг Гейдрих и Ханс-Петер Зайдель, «Эффективная визуализация анизотропных поверхностей с использованием оборудования компьютерной графики», Группа компьютерной графики, Университет Эрлангена [1]