Объёмные лучи — программная методика (техника) в трёхмерной компьютерной графике, предназначенная для создания эффекта трёхмерных лучей света, проходящих через окружение трёхмерной сцены. В реальном мире эффект трёхмерных лучей представлен так называемым оптическим эффектом Тиндаля, когда лучи света проходят через облако газа, дыма, пыли, аэрозоля или пара в затёмненном пространстве. При прохождении света через такую среду лучи света «подсвечивают» частички пыли или жидкости, которые распылены в воздухе, в результате чего можно увидеть эффект «объёмных лучей». Ещё одним проявлением подобного оптического эффекта являются сумеречные и противосумеречные лучи. Программная методика объёмных лучей предназначена для моделирования всех вышеописанных оптических эффектов в трёхмерной среде. Она широко используется в кинематографе и трёхмерном моделировании и рендеринге, а также в интерактивных приложениях компьютерной графики, включая компьютерные игры.
Принцип работы Объемное освещение требует наличия двух компонентов: теневой карты () освещаемого пространства и буфер глубины. Начиная с самой близкой к виртуальной камере плоскости, вся сцена трассируется и значения выборок (семплов) записываются в буфер ввода. Для каждого семпла проводится определение: освещается ли он светом из нужного источника света или нет; для этого используются данные из теневой карты. В итоге только освещенные семплы влияют на окончательный цвет пикселя.
Для функционирования в режиме реального времени вышеописанная методика требует оптимизации. Одним из возможных оптимизационных подходов является рендеринг освещаемого объёма в намного меньшем разрешении чем то, которое используется в изначальном графическом контексте. Вследствие такого подхода создаются нежелательные эффекты алиасинга, которые могут быть устранены посредством применения фильтра размытия ().
Ещё одной оптимизационной методикой является рендеринг «неточных» эффектов. Этот алгоритм размывает светящиеся объекты в стороне от центра основного источника света. Как правило, прозрачность постепенно сокращается с каждым проходом размытия, особенно в более светящихся сценах. Следует иметь в виду, что для работы этого алгоритма необходимо присутствие на экране источника света.
Примеры
Примечания
Ссылки
Категория:Освещение в трёхмерной графике