100%

Wargaming на SIGGRAPH 2016

Юрий Крячко — о визуализации водной поверхности в военно-морском экшене World of Warships.

SIGGRAPH — одна из крупнейших и престижнейших выставок, которая ежегодно собирает тысячи профессионалов, работающих с компьютерной графикой. Каждое такое событие — это возможность уехать домой с новыми приемами и решениями и поделиться собственными наработками. Wargaming успела накопить большой опыт в создании и оптимизации работы 3D-графики, поэтому на SIGGRAPH 2016, проходившей с 24 по 28 июля в американском Анахайме, среди докладчиков участвовал Юрий Крячко, Senior Graphics Programmer, занимающийся созданием графики для проекта World of Warships.

При поддержке дизайнерских, художественных и видеоотделов, а также чикагской и минской студий разработки Юрий рассказал о создании реалистичной визуализации водной поверхности в военно-морском экшене.

О Юрии Крячко

Юрий Крячко окончил Национальный исследовательский ядерный университет «МИФИ» по курсу «Прикладная математика». Среди наиболее значимых достижений Юрия в игровой индустрии — создание графики к шутеру Z.A.R., стратегии Theatre of War и симулятору «ИЛ-2 Штурмовик». Кроме того, Юрий прочитал несколько лекций в рамках «Конференции разработчиков игр» и стал автором главы Using Vertex Texture Displacement for Realistic Water Rendering для книги GPU Gems 2 от NVIDIA.

В данный момент Юрий работает на должности Senior Graphics Programmer в питерской студии разработки Wargaming, где уже более трех лет занимается созданием 3D-графики для проекта World of Warships. Главное увлечение и основная работа Юрия — это поиск и внедрение новых решений для визуализации природных явлений.

Визуализация водной поверхности в World of Warships

В рамках одноименной презентации Юрий подробно остановился на алгоритмах, используемых для синтеза и визуализации водных эффектов.

Поскольку World of Warships рассчитана на широкую аудиторию игроков с большим диапазоном конфигураций «железа», главным требованием было создание алгоритмов, позволяющих эффективно воспроизводить поведение воды как на мощных игровых компьютерах, так и на скромных конфигурациях. При этом необходимо было следить за  выполнением требований по качеству картинки и геометрической стабильности — как на ближнем, так и на дальнем планах. Речь идет об уникальном решении, поскольку большинство современных игр фокусируется на ближнем плане, пренебрегая дальним.

Для дальнего плана часто применяется упрощенный подход, но это ведет к несоблюдению пропорций в размере волн и искажает результаты расчетов некоторых оптических эффектов — в частности, отражений. В World of Warships подобный подход был неприемлем, поскольку с искажением пропорций корабли воспринимались бы не как стальные гиганты, а как игрушечные, миниатюрные кораблики.

Для улучшения визуализации дальнего плана нам потребовалось повысить стабильность геометрии воды и увеличить детализацию волн, а также разработать алгоритм для антиалиасинга и реализовать улучшенный расчет отражений. В результате мы разработали единое решение, позволившее добиться высокого качества как на переднем плане, так и на дальнем.

В рамках SIGGRAPH 2016 мы рассказали о следующих инновационных решениях:

  • Унифицированный алгоритм рендеринга обеспечил реалистичную симуляцию и визуализацию водной поверхности, а также расчет оптических эффектов на ближнем и дальнем планах, в то время как большинство решений предполагает размытие или полное отсутствие прорисовки волн и нереалистичное отражение на дальнем плане.
  • Экономия на производстве контента достигнута благодаря использованию единого контента для визуализации волн на ближнем и дальнем планах, а также для различных конфигураций железа.
  • Повышено качество аппроксимации геометрии по сравнению с часто применяемым методом проективной сетки (Projected grid mesh). Значительно снижено дрожание поверхности воды на дальней дистанции. Повысилось качество в областях с деформациями (кильватерный след, взрывы). Такой результат был достигнут благодаря дополнительному рейкастингу на основе высокоскоростного модифицированного метода Ньютона. В качестве начальных условий для метода итераций Ньютона использовалась проективная сетка. Метод Ньютона оказался достаточно эффективен для стабилизации геометрии на низкобюджетных графических системах, а для высокопроизводительных конфигураций — стал основой нового высококачественного метода сглаживания.
  • Применен новый способ вычисления текстурных координат для выборки из текстуры отражений. Эти координаты мы получаем путем пересечения вектора отражения с дальней плоскостью камеры отражения. Такой подход дает более реалистичное отражение, чем при использовании популярного метода 2D Distortion. Скорость работы предложенного решения существенно выше, чем у дорогостоящего SSLR (screen space local reflection), что позволяет реализовать более качественное сглаживание отражений на дальнем плане по сравнению с альтернативными решениями.
  • Создание волн без использования аппаратного мип-маппинга уменьшило количество повторяющихся паттернов на поверхности воды. Возникающие при отключении мип-маппинга шумы эффективно подавляются алгоритмом сглаживания. Комбинация сглаживания и отключенного мип-маппинга позволила отображать волны с сабпиксельной детализацией даже на дальней дистанции.
  • Создание деформаций на воде с использованием комбинации особых деформационных частиц (height + foam) является высокоскоростным решением по рендерингу, упрощает создание контента и работает в более высоком разрешении по сравнению с другими способами симуляции.
  • Реалистичность теней повышена благодаря учету дополнительного компонента, отвечающему за рассеивание солнечных лучей под водой.

Презентацию можно найти по ссылке ниже: