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

Молодой учёный

Методы освещения и теневые карты (Shadow Mapping) в рендеринге реального времени

Информационные технологии
Препринт статьи
17.06.2026
6
Поделиться
Аннотация
В статье рассмотрены принципы классического shadow mapping, основные артефакты (shadow acne, peter-panning, алиасинг теней) и методы их устранения — PCF, каскадные теневые карты (CSM) и variance shadow maps (VSM). Показано, что CSM с фильтрацией PCF являются наиболее распространённым промышленным решением для открытых сцен, а дальнейшее развитие метода связано с гибридизацией растеризации и трассировки лучей.
Библиографическое описание
Белолипецкий, В. А. Методы освещения и теневые карты (Shadow Mapping) в рендеринге реального времени / В. А. Белолипецкий. — Текст : непосредственный // Молодой ученый. — 2026. — № 25 (628). — URL: https://moluch.ru/archive/628/138384.


Освещение является одним из главных факторов, формирующих визуальное восприятие трёхмерной сцены. Без теней объекты выглядят «плоскими» и оторванными от поверхности, пространственные отношения между ними становятся неочевидными [1, с. 45]. Существует несколько подходов к расчёту теней: трассировка лучей (ray tracing), теневые объёмы (shadow volumes) и теневые карты (shadow mapping). Несмотря на развитие аппаратной трассировки лучей, shadow mapping остаётся доминирующим методом из-за предсказуемой производительности и простоты реализации на массовом оборудовании [2]. Целью данной работы является рассмотрение принципов shadow mapping, анализ типичных артефактов и обзор методов их устранения.

Принцип работы классического shadow mapping

Базовая идея shadow mapping — двухпроходный рендеринг сцены [3, с. 112]. На первом проходе сцена рендерится из точки зрения источника света: сохраняется только карта глубины (расстояние от источника до ближайшей поверхности). Полученное изображение называется теневой картой (shadow map).

На втором проходе сцена рендерится с точки зрения камеры. Для каждого фрагмента вычисляется его положение в системе координат источника света и полученная глубина сравнивается со значением из теневой карты [4]. Если глубина фрагмента больше — он в тени, иначе — освещён. Главное преимущество: универсальность для произвольной геометрии, нативная поддержка в DirectX, Vulkan, OpenGL [5]. Вместе с тем метод порождает ряд характерных артефактов.

Типичные артефакты и способы их устранения

Shadow acne («теневые угри») — полосатый муаровый узор на освещённых поверхностях [3, с. 118]. Причина: из-за дискретизации глубины поверхность может ошибочно затенять саму себя. Решение — смещение глубины (depth bias / slope-scaled bias), которое сдвигает сравниваемую глубину, устраняя самозатенение [6].

Избыточное смещение порождает peter-panning — тень визуально «отрывается» от объекта [7, с. 54]. Для дополнительного контроля применяют normal offset bias, сдвигающий точку сэмплирования вдоль нормали поверхности.

Алиасинг краёв теней («ступенчатость» границ) возникает при недостаточном разрешении теневой карты относительно покрываемой области экрана [8]. Для устранения используется ряд методов, описанных далее.

PCF, каскадные теневые карты и VSM

Percentage Closer Filtering (PCF) вместо одного сравнения выполняет несколько выборок из соседних ячеек теневой карты (например, сетка 3×3 или 5×5) и усредняет результаты [9, с. 67]. Это создаёт плавный переход между освещённой и затенённой областью и частично решает проблему алиасинга.

Для больших открытых сцен одна теневая карта не обеспечивает приемлемое качество как для близких, так и для удалённых объектов. Решение — Cascaded Shadow Maps (CSM) [10]: пространство видимости камеры делится на несколько диапазонов глубины, для каждого строится отдельная теневая карта. Ближние каскады имеют высокое разрешение на единицу площади, дальние — пониженное. CSM с PCF — стандарт де-факто для направленного освещения в открытых сценах [7, с. 203].

Variance Shadow Maps (VSM) [11] вместо одного значения глубины хранят среднее и дисперсию, что позволяет аппроксимировать долю закрытых сэмплов через неравенство Чебышева. Метод даёт мягкие тени без множества выборок, как в PCF, однако страдает от light bleeding — «протекания» света через тонкие объекты [12, с. 88]. В современных движках теневые карты дополняются контактными тенями и SSAO для мелких деталей [13].

Сравнение рассмотренных методов представлено в таблице 1.

Таблица 1

Сравнение методов формирования теней

Метод

Основное преимущество

Основной недостаток

Shadow mapping (базовый)

Универсальность, поддержка GPU

Shadow acne, peter-panning, алиасинг

PCF

Сглаживание границ теней

Рост числа выборок текстуры

CSM

Качество для больших открытых сцен

Сложность настройки каскадов

VSM

Мягкие тени без множества выборок

Light bleeding

Заключение

Shadow mapping остаётся базовым методом формирования теней в рендеринге реального времени благодаря универсальности и предсказуемой нагрузке на GPU. Классическая реализация порождает характерные артефакты, устраняемые с помощью PCF, CSM и VSM. На практике современные движки комбинируют CSM и PCF, дополняя контактными тенями и ambient occlusion. Дальнейшее развитие связано с гибридизацией shadow mapping и аппаратной трассировки лучей.

Литература:

  1. Akenine-Möller T., Haines E., Hoffman N. Real-Time Rendering. — 4th ed. — CRC Press, 2018. — 1200 с.
  2. Williams L. Casting curved shadows on curved surfaces // ACM SIGGRAPH Computer Graphics. — 1978.
  3. Eisemann E., Schwarz M., Assarsson U., Wimmer M. Real-Time Shadows. — CRC Press, 2011. — 284 с.
  4. Common Techniques to Improve Shadow Depth Maps [Электронный ресурс] // Microsoft Learn. URL: https://learn.microsoft.com (дата обращения: 03.11.2025).
  5. Vulkan Shadow Mapping Tutorial [Электронный ресурс] // Vulkan Documentation. URL: https://docs.vulkan.org (дата обращения: 03.11.2025).
  6. Dou H., Yan Y., Kerzner E. et al. Adaptive Depth Bias for Shadow Maps // Journal of Computer Graphics Techniques. — 2014. — Vol. 3, No. 4.
  7. Akenine-Möller T., Haines E., Hoffman N. Real-Time Rendering. — 4th ed. — CRC Press, 2018. — Разделы Shadow Techniques, CSM.
  8. Scherzer D., Wimmer M., Purgathofer W. A survey of real-time hard shadow mapping methods // Computer Graphics Forum. — 2011.
  9. Percentage-Closer Soft Shadows [Электронный ресурс] // NVIDIA GameWorks. URL: https://developer.nvidia.com (дата обращения: 04.11.2025).
  10. Engel W. Cascaded Shadow Maps // ShaderX. — 2007.
  11. Donnelly W., Lauritzen A. Variance Shadow Maps // ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. — 2006.
  12. Lauritzen A. Summed-Area Variance Shadow Maps // GPU Gems 3. — NVIDIA, 2008.
  13. Screen Space Ambient Occlusion and Contact Shadows [Электронный ресурс] // GDC Vault. URL: https://www.gdcvault.com (дата обращения: 05.11.2025).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №25 (628) июнь 2026 г.
📄 Препринт
Файл будет доступен после публикации номера

Молодой учёный