Блум (эффект шейдера)


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

Физическая основа блюма заключается в том, что в реальном мире линзы никогда не могут идеально сфокусироваться. Даже идеальная линза свернет входящее изображение с помощью диска Эйри (дифракционная картина, полученная при пропускании точечного источника света через круглое отверстие). [1] В нормальных условиях эти дефекты незаметны, но при ярком источнике света дефекты становятся видимыми. В результате образ яркого света как бы выходит за свои естественные границы.

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

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

Например, при съемке в помещении яркость объектов, видимых через окно, может быть в 70–80 раз ярче, чем объектов внутри комнаты. Если уровни экспозиции установлены для объектов внутри комнаты, яркое изображение окон будет просачиваться за оконные рамы при свертывании с диском Эйри камеры, используемой для создания изображения.

Игровые системы текущего поколения способны отображать 3D-графику с использованием кадровых буферов с плавающей запятой для создания HDR-изображений . Для создания эффекта цветения линейное HDRR-изображение в буфере кадров свёртывается с ядром свертки на этапе постобработки перед преобразованием в пространство RGB . Шаг свертки обычно требует использования большого гауссовского ядра, что нецелесообразно для графики в реальном времени, что заставляет программистов использовать методы приближения. [2]


Пример цветения на компьютерном изображении (из Elephants Dream ). Свет на ярком фоне переливается на более темные области, такие как стены и персонажи.
Пример цветения на снимке, сделанном камерой. Обратите внимание на синюю окантовку, которая особенно заметна вдоль правого края окна.