Interested Article - Объёмные лучи
- 2021-07-20
- 1
Объёмные лучи — программная методика (техника) в трёхмерной компьютерной графике , предназначенная для создания эффекта трёхмерных лучей света , проходящих через окружение трёхмерной сцены. В реальном мире эффект трёхмерных лучей представлен так называемым оптическим эффектом Тиндаля , когда лучи света проходят через облако газа, дыма, пыли, аэрозоля или пара в затёмненном пространстве. При прохождении света через такую среду лучи света «подсвечивают» частички пыли или жидкости, которые распылены в воздухе, в результате чего можно увидеть эффект «объёмных лучей». Ещё одним проявлением подобного оптического эффекта являются сумеречные и противосумеречные лучи . Программная методика объёмных лучей предназначена для моделирования всех вышеописанных оптических эффектов в трёхмерной среде. Она широко используется в кинематографе и трёхмерном моделировании и рендеринге, а также в интерактивных приложениях компьютерной графики, включая компьютерные игры .
Принцип работы
Объемное освещение требует наличия двух компонентов: теневой карты ( англ. shadow map ) освещаемого пространства и буфер глубины. Начиная с самой близкой к виртуальной камере плоскости, вся сцена трассируется и значения выборок (семплов) записываются в буфер ввода. Для каждого семпла проводится определение: освещается ли он светом из нужного источника света или нет; для этого используются данные из теневой карты. В итоге только освещенные семплы влияют на окончательный цвет пикселя.
Для функционирования в режиме реального времени вышеописанная методика требует оптимизации. Одним из возможных оптимизационных подходов является рендеринг освещаемого объёма в намного меньшем разрешении чем то, которое используется в изначальном графическом контексте. Вследствие такого подхода создаются нежелательные эффекты алиасинга , которые могут быть устранены посредством применения фильтра размытия ( англ. blur ).
Ещё одной оптимизационной методикой является рендеринг «неточных» эффектов. Этот алгоритм размывает светящиеся объекты в стороне от центра основного источника света. Как правило, прозрачность постепенно сокращается с каждым проходом размытия, особенно в более светящихся сценах. Следует иметь в виду, что для работы этого алгоритма необходимо присутствие на экране источника света.
Примеры
-
Фотография: Пример сумеречных лучей, возникающие во время заката при отражении от верхней части облака
-
Фотография: Пример эффекта Тиндаля, когда солнечные лучи проходят через туман.
-
Компьютерная графика: лесная местность в анимационном фильме Big Buck Bunny , отчётливо видны объёмные лучи.
-
Компьютерная графика: Объемные лучи в игре S.T.A.L.K.E.R.: Чистое небо
Примечания
- David "Spunk" Grampa, Dan "Tweak Monkey" Kennedy. (англ.) . (13 декабря 2002). Дата обращения: 23 января 2010. 15 апреля 2012 года.
- ↑ jim coe. (англ.) . (15 апреля 2006). Дата обращения: 23 января 2010. Архивировано из 15 апреля 2012 года.
- Dario Corno. (англ.) . GameDev.net . Дата обращения: 23 января 2010. Архивировано из 15 апреля 2012 года.
Ссылки
- Kenny Mitchell ( Electronic Arts ) . (англ.) . 3 (2008). Дата обращения: 22 ноября 2010. Архивировано из 15 апреля 2012 года.
- Лев Симонов «LEVel». (англ.) . (15 января 2008). Дата обращения: 3 апреля 2010. 15 апреля 2012 года.
- 2021-07-20
- 1