Dagor Engine 5.0: свет и тени - Global Illumination, контактные тени, тени на эффектах

Глобальное освещение (Global Illumination)

При рендеринге каждого кадра в War Thunder используются несколько алгоритмов освещения и затенения.В обновлённом рендере Dagor Engine 5.0 мы улучшим модель освещения с помощью алгоритмов расчёта глобального освещения в реальном времени (Realtime Global Illumination). Глобальное освещение — это общее название для техник освещения, учитывающих не только прямой свет от источника (англ. direct illumination), но и отражённый и рассеянный свет от различных поверхностей и  протяжённых источников света (таких как небо и облака). В игре появятся тени, отбрасываемые объектами от окружающего освещения и неба, благодаря чему общая картинка станет более объёмной и фактурной в тенях, а также появится рефлекс — отражённый свет от других объектов и ландшафта. И всё это в реальном времени, для огромных локаций War Thunder (средняя локация в WT больше 32х32 км), для разрушаемых и динамических объектов. Как и другие визуальные улучшения общей картинки в игре, параметры Global Illumination будут доступны в качестве опции в меню графических настроек и будет включена по умолчанию для максимальных настроек графики.

Глобальное освещение — это целый комплекс разных алгоритмов, крайне сложная и высокотехнологичная задача. Достаточно сказать, что на данный момент не существует ни одной игры или движка, в которых реализовано полностью динамическое глобальное освещение для огромных локаций. Для War Thunder не годятся алгоритмы, в которых объекты предполагаются статическими, или используется иной предварительный расчёт: десятки огромных локаций потребуют слишком много памяти и места на жёстком диске, а разрушаемые дома меняют геометрию мира слишком значительно. Потому некоторые из алгоритмов и улучшений, возможно, станут доступными для включения посредством собственных настроек спустя некоторое время после выхода обновления 1.77. Впрочем, большая часть изменений доступна игрокам уже сейчас.

Dagor Engine 4.0

Dagor Engine 5.0

Тени на эффектах.

Эффекты часто стоят в стороне от остального фотореалистичного рендера, так как большей частью представляют собой некое упрощённое представление гораздо более сложных процессов, таких как дым и огонь. Потому рендер эффектов осуществляется в большинстве случаев отдельно. В Dagor Engine 5.0 мы реализовали расчёт затенения эффектов, таких как выхлопные газы или клубы дыма из горящего танка,  объектами окружения. Это придаёт эффектам больше объёма, а итоговая картинка выглядит более гармонично.

Dagor Engine 4.0

Dagor Engine 5.0

Контактные тени.

В нашем новом графическом движке Dagor Engine 5.0, который появится в обновлении War Thunder 1.77, мы представим алгоритм создания контактных теней, которые делают картинку более реалистичной и придают новые уровни глубины. С технической точки зрения алгоритм отрисовки контактных теней заключается в том, что при рендеринге каждого кадра каждый пиксель на картинке проводит трассировку луча на небольшое расстояние по направлению к источнику света. Трассировка проводится через другие, уже нарисованные на экране объекты. Если на пути луча появляется препятствие, то создаётся дополнительная тень.

Особенно заметны будут изменения на траве: раньше трава в игре могла принимать тень от других объектов, но не могла отбрасывать тень сама. Технология контактных теней не только позволяет траве отбрасывать на землю собственную тень, но и давать тень от травы на траве. Благодаря этому травяные луга и поля теперь выглядят глубже и реалистичнее — как вблизи, так и на некотором отдалении.

Кроме травы, технология контактных теней позволяет придать большую глубину всем объектам вдали от игрока — например, оконные рамы, заклёпки на технике и другие объекты получают визуально более правильные субпиксельные тени, в отличие от классических способов наложения теней, когда тени на больших расстояниях отрисовываются только для крупных объектов.

Нравится9
Комментарии (2)
B
i
u
Спойлер