Динамическое затенение в современных играх работает следующим образом: эффект создаётся путём отслеживания движения источника света и объекта, который отбрасывает тень, и подстройки тени под соответствующие угол и интенсивность освещения. 2
Некоторые алгоритмы динамического затенения:
- SSAO (Screen Space Ambient Occlusion). 35 После конструирования геометрии алгоритм получает информацию обо всех объектах и производит необходимые вычисления для построения затенений. 5 Определяется глубина каждого пикселя и вычисляется количество преград на пути источника освещения при помощи нескольких выборок. 5
- HBAO (Horizon Based Ambient Occlusion). 5 Доработанная версия SSAO от NVIDIA, основанная на физической модели. 5 Количество выборок увеличивается, потребляя больше системных ресурсов. 5 При расчётах рендеринга используются кадры с низким разрешением, поэтому появляется мерцание изображения. 5
- HBAO+. 5 Доработанная версия HBAO, в которой избавились от мерцаний. 5 В качестве действующего алгоритма применяется шахматный рендеринг, который учитывает результаты с предыдущих кадров. 5 Это позволяет сохранить исходное разрешение изображения и снизить нагрузку на оборудование. 5
- VXAO (Voxel Accelerated Ambient Occlusion). 1 Алгоритм работает не с пикселями и текселями (то есть 2D-объектами), а с вокселями — аналогом пикселя в 3D. 1 Используется воксельное построение сцены, поэтому алгоритм состоит из трёх пунктов: вокселизация, постобработка вокселей и трассировка конуса. 1
Также для создания динамических теней в играх могут использоваться техника трассировки лучей, теневые карты или алгоритмы глубокого машинного обучения. 2