Более стабильное затенение рядом с объектами

Официальный арт демонстрации CORTAO в EVE Frontier.

Инженер Daniel Isheden открыл реализацию CORTAO — способа расчёта затенения окружающего света. Fenris Creations показала технологию на сценах EVE Frontier, где многочисленные конструкции и детали делают ошибки освещения особенно заметными.

Такое затенение помогает передать контакт предметов и глубину сцены. CORTAO стремится уменьшить тёмные ореолы и изменения рисунка теней при движении камеры. Расчёт выполняется в реальном времени по экранным данным и не требует заранее подготовленного освещения каждой сцены.

Для расчёта CORTAO представляет близлежащие поверхности как круглые заслоняющие элементы и оценивает, какую часть окружающего света они перекрывают. Технология предназначена для замены уже существующего этапа экранного затенения в движке. Настройки качества позволяют разработчику выбирать компромисс между детализацией эффекта и затратами на его вычисление.

В EVE Frontier реализацию проверяли на открытом космосе, интерьерах и крупных сооружениях, которые создают и меняют сами игроки. Именно подвижное, перестраиваемое окружение важно для такого подхода: освещение должно оставаться согласованным после изменения сцены, без повторного предварительного расчёта для каждого нового расположения объектов.

Код уже доступен разработчикам

Сравнение затенения из официального репозитория CORTAO.

Реализация опубликована по лицензии MIT. В репозитории есть варианты для HLSL и GLSL, рекомендации по настройке и сравнения с GTAO. Приведённые результаты относятся к тестам автора, а не гарантируют одинаковый прирост во всех играх.

14 ноября появилась версия 1.0.2 с исправлением расчёта параметров для отдельных проекций. Внедрение технологии в другие проекты требует работы их разработчиков: самостоятельного переключателя, улучшающего любую установленную игру, CORTAO не предлагает.

Официальное изображение CORTAO
RutubeCORTAO в EVE Frontier — демонстрация технологии затенения

CORTAO в EVE Frontier — демонстрация технологии затенения.