Введение
Эффект в компьютерной графике Объемное освещение, также известное как "Божественные лучи", является методом, используемым в 3D-компьютерной графике для добавления световых эффектов к рендеринговой сцене. Она позволяет зрителю видеть лучи света, сияющие по окружающей среде. Примерами объемного освещения являются солнечные лучи, проходящие через окно, и солнечные лучи, излучающиеся, когда Солнце находится ниже горизонта, также известные как сумеречные лучи. Термин, кажется, был введен из кинематографа и в настоящее время широко применяется к 3D моделированию и рендерингу, особенно в разработке 3D видеоигр. В объемном освещении световой конус, излучаемый источником света, моделируется как прозрачный объект и рассматривается как контейнер "объема". В результате свет имеет возможность создавать эффект прохождения через фактический трехмерный аэрозоль (например, туман, пыль, дым или пар), который находится внутри его объема, как и в реальном мире.
Volumetric lighting, also known as "God rays", is a technique used in 3D computer graphics to add lighting effects to a rendered scene. It allows the viewer to see beams of light shining across the environment. Examples of volumetric lighting are seeing sunbeams shining through a window and seeing sunbeams radiating when the Sun is below the horizon, also known as crepuscular rays. The term seems to have been introduced from cinematography and is now widely applied to 3D modeling and rendering, especially in the development of 3D video games. In volumetric lighting, the light cone emitted by a light source is modeled as a transparent object and considered as a container of a "volume". As a result, light has the capability to give the effect of passing through an actual three dimensional aerosol (e. g. fog, dust, smoke, or steam) that is inside its volume, just like in the real world.
Техника
Для объемного освещения требуются два компонента: карта теней пространства света и буфер глубины. Начиная с ближайшей клинковой плоскости камеры, вся сцена отслеживается, а значения выборки накапливаются в буфер ввода. Для каждого образца определяется, освещен ли образец источником света, обрабатываемым, используя карту теней в качестве сравнения. Только освещенные образцы будут влиять на окончательный цвет пикселя. Этот базовый метод работает, но требует большей оптимизации для работы в режиме реального времени. Один из способов оптимизации объемных световых эффектов - это отображение объема освещения с гораздо более грубым разрешением, чем то, которое использует графический контекст. Это создает некоторые плохие артефакты псевдонима, но это легко поддается замене размытым. Можно также использовать буфер штемпеля, как с техникой объема теней. Другой метод также может быть использован для обеспечения обычно удовлетворительных, если неточных объемных световых эффектов. Алгоритм работает, размывая светящиеся объекты от центра основного источника света. Как правило, прозрачность постепенно уменьшается с каждым шагом размытия, особенно в более ярких сценах. Обратите внимание, что для этого требуется источник света на экране.