Зеркальный момент является ярким пятном света , что на блестящих объекты при освещении появляется (например, см изображения справа). Зеркальные блики важны в трехмерной компьютерной графике , поскольку они обеспечивают четкую визуальную подсказку для формы объекта и его местоположения по отношению к источникам света в сцене.
Микрофасетки
Термин « зеркальный» означает, что свет идеально зеркально отражается от источника света к зрителю. Зеркальное отражение видно только там, где нормаль к поверхности ориентирована точно посередине между направлением падающего света и направлением наблюдателя; это называется направлением половинного угла, потому что оно делит пополам (делит пополам) угол между падающим светом и зрителем. Таким образом, зеркально отражающая поверхность будет показывать зеркальный свет как идеально резкое отраженное изображение источника света. Однако многие блестящие объекты демонстрируют размытые зеркальные блики.
Это можно объяснить наличием микрограней . Мы предполагаем, что поверхности, которые не являются идеально гладкими, состоят из множества очень крошечных граней, каждая из которых является идеальным зеркальным отражателем. У этих микрограней есть нормали, которые расположены относительно нормали аппроксимирующей гладкой поверхности. Степень, в которой нормали микрограней отличаются от нормали гладкой поверхности, определяется шероховатостью поверхности. В точках на объекте, где гладкая нормаль близка к направлению половинного угла, многие из микрограней указывают в направлении половинного угла, поэтому зеркальный свет будет ярким. По мере удаления от центра блика плавная нормаль и направление половинного угла удаляются друг от друга; количество микрограней, ориентированных в направлении половины угла, уменьшается, и, таким образом, интенсивность светового пятна падает до нуля.
Зеркальный свет часто отражает цвет источника света, а не цвет отражающего объекта. Это связано с тем, что многие материалы имеют тонкий слой прозрачного материала над поверхностью пигментированного материала. Например, пластик состоит из крошечных цветных шариков, взвешенных в прозрачном полимере, а человеческая кожа часто имеет тонкий слой масла или пота над пигментированными клетками. Такие материалы будут демонстрировать зеркальные блики, в которых все части цветового спектра отражаются одинаково. На металлических материалах, таких как золото, цвет зеркального блика будет отражать цвет материала.
Модели
Существует ряд различных моделей для прогнозирования распределения микрограней. Большинство полагает, что нормали микрограней распределены относительно нормали равномерно; эти модели называются изотропными . Если микрогранцы распределены с предпочтением определенного направления по поверхности, распределение является анизотропным .
ПРИМЕЧАНИЕ. В большинстве уравнений, когда говорится это значит
Распределение по Фонгу
В модели отражения Фонга интенсивность зеркального блика рассчитывается как:
Где R - зеркальное отражение светового вектора от поверхности, а V - вектор точки обзора.
В модели затенения Блинна – Фонга интенсивность бликов рассчитывается как:
Где N - нормаль гладкой поверхности, а H - направление половинного угла (вектор направления на полпути между L , вектором света и V , вектором точки обзора).
Число n называется показателем Фонга и представляет собой выбираемое пользователем значение, которое контролирует кажущуюся гладкость поверхности. Эти уравнения подразумевают, что распределение нормалей микрограней является приблизительно гауссовым распределением (для больших), или приблизительно распределение Пирсона типа II соответствующего угла. [1] Хотя это полезная эвристика и дает правдоподобные результаты, это не физическая модель.
- Еще одна похожая формула, но рассчитанная иначе:
- где R - вектор отражения глаза, E - вектор глаза ( вектор обзора ), N - вектор нормали к поверхности . Все векторы нормализованы ( ). L - световой вектор. Например, тогда:
- Примерная формула такая:
- Если вектор H нормирован тогда
Гауссово распределение
Немного лучшую модель распределения микрограней можно создать с помощью распределения Гаусса . [ необходима цитата ] Обычная функция вычисляет интенсивность бликов как:
где m - константа от 0 до 1, которая контролирует кажущуюся гладкость поверхности. [2]
Распределение Бекмана
Физически обоснованной моделью распределения микрограней является распределение Бекмана: [3]
где m - среднеквадратичный наклон микрограней поверхности (шероховатость материала). [4] По сравнению с эмпирическими моделями, приведенными выше, эта функция «дает абсолютную величину коэффициента отражения без введения произвольных констант; недостаток в том, что для этого требуется больше вычислений». [5] Однако эту модель можно упростить, поскольку. Также обратите внимание, что продукт а функция распределения по поверхности нормируется по полусфере, которой подчиняется эта функция.
Анизотропное распределение Гейдриха – Зейделя.
Гейдрих – Зайдель. [6] распределение представляет собой простое анизотропное распределение, основанное на модели Фонга. Его можно использовать для моделирования поверхностей с небольшими параллельными канавками или волокнами, таких как матовый металл , сатин и волосы.
Параметры
Входные параметры:
- D = направление резьбы (в исходных документах это обозначено как T )
- s = показатель блеска. Значения от 0 до бесконечности.
- N = нормаль к реальной поверхности
- L = вектор от точки к свету
- V = вектор от точки к зрителю
- T = направление резьбы основано на реальной нормали к поверхности.
- P = Проекция вектора L на плоскость с нормалью T (в исходной статье это обозначено как N ).
- R = Отраженный входящий световой луч от Т . Входящий световой луч равно отрицательной L .
Все векторы единичны.
Условия
Если какие-то условия из списка не выполняются, цвет равен нулю.
Примечание: этот список не оптимизирован.
Формула
Во- первых , мы должны правильного первоначального направления волокон D , чтобы быть перпендикулярной к реальной поверхности нормальной N . Это можно сделать, спроецировав направление волокна на плоскость с нормалью N :
Ожидается, что волокно будет цилиндрическим. Обратите внимание на тот факт, что нормаль волокна зависит от положения света. Норма волокна в данной точке:
Отраженный луч, необходимый для расчета зеркального отражения:
Окончательный расчет
Оптимизация
Расчет R и P - дорогостоящая операция. Чтобы избежать их расчета, исходную формулу можно переписать в следующем виде:
Размытый
Зеркальный
Комментарии
T может наблюдаться как нормальный удар, и после этого можно применить другой BRDF, кроме Phong. Анизотропный следует использовать в сочетании с изотропным распределением, таким как распределение Фонга, для получения правильного зеркального блика.
Анизотропное распределение Уорда
Анизотропное распределение Уорда [2] использует два контролируемых пользователем параметра α x и α y для управления анизотропией. Если два параметра равны, то получается изотропное выделение. Зеркальный член в распределении:
Зеркальный член равен нулю, если N · L <0 или N · V <0. Все векторы являются единичными векторами. Вектор V - направление взгляда, L - направление от точки поверхности к свету, H - направление половинного угла между V и L , N - нормаль к поверхности, а X и Y - два ортогональных вектора в нормальной плоскости. которые задают направления анизотропии.
Модель Кука – Торранса
Модель Кука – Торранса [5] использует зеркальный член в форме
- .
Здесь D - коэффициент распределения Бекмана, как указано выше, а F - член Френеля . По соображениям производительности в трехмерной графике в реальном времени аппроксимация Шлика часто используется для аппроксимации члена Френеля.
G - геометрический член затухания, описывающий самозатенение из-за микрограней, и имеет вид
- .
В этих формулах V - вектор к камере или глазу, H - вектор половинного угла, L - вектор к источнику света, N - нормальный вектор, а α - угол между H и N.
Использование нескольких дистрибутивов
При желании различные распределения (обычно с использованием одной и той же функции распределения с разными значениями m или n ) могут быть объединены с использованием средневзвешенного значения. Это полезно, например, для моделирования поверхностей с небольшими гладкими и шероховатыми участками, а не с однородной шероховатостью.
Смотрите также
Рекомендации
- ^ Ричард Лайон, "Реформирование затенения Фонга для упрощения аппаратного рендерера", Технический отчет Apple № 43, Apple Computer, Inc. 1993 PDF
- ^ Гласснер, Эндрю С. (ред.). Введение в трассировку лучей. Сан-Диего: Academic Press Ltd, 1989. стр. 148.
- ^ Петр Бекманн, Андре Спиццикино, Рассеяние электромагнитных волн на шероховатых поверхностях, Pergamon Press, 1963, 503 стр. (Переиздано Artech House, 1987, ISBN 978-0-89006-238-8 ).
- ^ Фоли и др. Компьютерная графика: принципы и практика . Менло-Парк: Аддисон-Уэсли, 1997. стр. 764.
- ^ а б Р. Кук и К. Торранс. « Модель отражательной способности для компьютерной графики ». Компьютерная графика (Труды SIGGRAPH '81), Vol. 15, № 3, июль 1981 г., стр. 301–316.
- ^ Вольфганг Гейдрих и Ханс-Петер Зайдель, «Эффективная визуализация анизотропных поверхностей с использованием оборудования компьютерной графики», Группа компьютерной графики, Университет Эрлангена [1]