Чем отличается датчик освещенности от карты кубов окружающей среды?


17

Глядя на текстуру светового зонда, она выглядит как размытая карта окружающей среды.

В чем разница между ними, как сделан световой зонд, и в чем его преимущество - размытость?


3
Короткий ответ: «световые зонды» обычно означают компактное сферическое гармоническое представление окружающей среды. Они размыты как потому, что они очень компактны (всего несколько десятков байтов), так и потому, что они предварительно отфильтрованы для использования в качестве рассеянного освещения. Я расширю в более длинный ответ, когда у меня будет шанс. :)
Натан Рид

Есть ли контекст для вашего вопроса? Термин «легкий зонд» неоднозначен и по-разному используется в различных сценариях, алгоритмах и механизмах.
Дэвид Кури

В частности, если вы были на shadertoy.com, вы увидите два набора карт кубов, доступных для использования. Один набор - карты окружающей среды, другой набор выглядит таким же, но размытым, которые обозначены световыми зондами. Просто любопытно об этом и световые зонды в целом.
Алан Вулф

Ответы:


18

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

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

Сферические гармоники могут быть использованы для создания плавного приближения с низким разрешением любой сферической функции путем масштабирования и суммирования некоторого количества сферических гармоник - обычно 4 (известных как линейные, первой степени или однополосный SH) или 9 ( называется квадратичной, второй степени или двухполосной SH). Это очень компактно, потому что вам нужно хранить только коэффициенты масштабирования. Например, для квадратичного SH с данными RGB вам нужно только 9 * 3 = 27 значений на пробу. Таким образом, SH делает очень компактное, но также обязательно очень мягкое и размытое представление света вокруг точки. Это подходит для рассеянного освещения и, возможно, зеркального с высокой шероховатостью.

На этом скриншоте из Технического блога Саймона показано множество зондов SH света, расположенных по всей сцене, каждый из которых показывает непрямое освещение, полученное в этот момент:

Матрица световых зондов SH

Другое распространенное в настоящее время значение «светового зонда» - это кубическая карта окружающей среды, уровни мипов которой предварительно размыты до разного предела, поэтому его можно использовать для зеркального освещения с различными уровнями шероховатости. Это изображение из блога Себа Лагард показывает основную идею:

Предварительно отфильтрованные уровни MIP кубических карт

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

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

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


Отличное объяснение! Просто чтобы подтвердить часть об использовании трилинейной фильтрации на mips ... Mips предпочтительнее текстур объема, потому что они используют меньшее разрешение, а более высокие уровни размытия требуют меньшего разрешения?
Алан Вульф

1
Я бы сказал, что оба этих «вида» световых зондов одинаковы. Световые зонды являются мерой яркости (обычно каким-то образом предварительно извитой), получаемой в точке сцены. Cubemaps и SH - это просто разные способы хранения / вычисления светового зонда, позволяющие сделать компромисс между хранением, качеством и качеством. (РЕДАКТИРОВАТЬ: просто чтобы прояснить, я согласен с ответом, я просто думаю, что это контрпродуктивно думать о них как об отдельных вещах.)
Юрикс

@AlanWolfe Существует применение, которое заключается в том, чтобы иметь карты для диффузного освещения, взятые из реальной среды (называемой серый шар / белый шар), а не только зеркальной. Вот развод обоих зеркальных / серых шейдеров
joojaa

1
@AlanWolfe Correct - вам нужно меньшее разрешение на более размытых уровнях. Кроме того, объемные текстуры кубических карт не существуют в аппаратном обеспечении. :)
Натан Рид
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.