
- Для PC
- Для Mac
- Для Linux
- ОС: Windows 7 SP1/8/10 (64bit)
- Процессор: 2,2 ГГц
- Оперативная память: 4 Гб
- Видеокарта с поддержкой DirectX версии 10.1: AMD Radeon HD 77XX / NVIDIA GeForce GTX 660. Минимальное поддерживаемое разрешение – 720p.
- Место на жестком диске: 17 Гб
- ОС: Windows 10/11 (64bit)
- Процессор: Intel Core i5 или Ryzen 5 3600 и лучше
- Оперативная память: 16 Гб
- Видеокарта с поддержкой DirectX версии 11 и выше: NVIDIA GeForce 1060 и выше, Radeon RX 570 и выше
- Место на жестком диске: 95 Гб
- Операционная система: Mac OS Big Sur 11.0
- Процессор: Core i5, минимум 2.2GHz (Intel Xeon не поддерживается)
- Оперативная память: 6 Гб
- Видеокарта: Intel Iris Pro 5200 (Mac) или аналогичная видеокарта AMD/Nvidia для Mac (минимальное поддерживаемое разрешение – 720p) с поддержкой Metal
- Место на жестком диске: 17 Гб
- Операционная система: Mac OS Big Sur 11.0
- Процессор: Intel Core i7 (Intel Xeon не поддерживается)
- Оперативная память: 8 Гб
- Видеокарта: Radeon Vega II и выше с поддержкой Metal
- Место на жестком диске: 95 Гб
- Операционная система: Современные дистрибутивы Linux 64bit
- Процессор: Dual-Core 2.4 ГГц
- Оперативная память: 4 Гб
- Видеокарта: NVIDIA GeForce 660 со свежими проприетарными драйверами (не старее 6 месяцев) / соответствующая серия AMD Radeon со свежими проприетарными драйверами (не старее 6 месяцев, минимальное поддерживаемое разрешение - 720p) с поддержкой Vulkan
- Место на жестком диске: 17 Гб
- Операционная система: Ubuntu 20.04 64bit
- Процессор: Intel Core i7
- Оперативная память: 16 Гб
- Видеокарта: NVIDIA GeForce 1060 со свежими проприетарными драйверами (не старее 6 месяцев) / Radeon RX 570 со свежими проприетарными драйверами (не старее 6 месяцев) с поддержкой Vulkan
- Место на жестком диске: 95 Гб
Dagor Engine 4.0 в War Thunder
В War Thunder мы всегда уделяли особое внимание визуальной составляющей. Уже сейчас можно видеть, что все модели техники и предметы окружения состоят из различных материалов и совершенно по-разному выглядят. Вот - P-51D-5, его красивая неокрашенная алюминиевая обшивка ярко сверкает в солнечном свете. Вот - ГАЗ ММ с 25-мм зенитной пушкой, слабо поблёскивающий на свету своей зелёной краской. А вот - деревянная коробка, прикреплённая к левому борту Pz.IVG.
Совсем скоро мы введём в игру новую графическую технологию, которая позволит сделать картинку в игре War Thunder красивее и реалистичнее. Встречайте: Physically Based Rendering - физически корректный рендеринг изображения.
Чем отличается визуализация спец-эффектов фильма от рендера сцены в игре? Сколько времени нужно на получение реалистичной картинки в условиях постоянно меняющихся асинхронных событий? Эти вопросы задаст каждый игрок, который попытается представить себе мгновение сражения War Thunder: множество объектов, источников освещения, отражений, эффектов. В этой статье мы расскажем вам о новом рендеринге, который основан на законах физики, а также об освещении и материалах.




Внимание! Это относительно серьезная статья, рекомендуется к прочтению только интересующимся технологиями в области современной компьютерной визуализации.
PBR Physically Based Rendering
.png)
Технология Physically Based Rendering (PBR) основана на наблюдаемых принципах и физических законах, согласно которым свет распространяется в нашем мире. Когда мы говорим о материалах, мы имеем в виду, что каждый из них обладает собственными свойствами, которые влияют на рассеяние и отражение света на нем. Как пример - гладкий лист бумаги. Визуально кажется, что эта поверхность идеально ровная, однако если мы посмотрим на неё в микроскоп, мы увидим множество древесных волокон, пересекающихся друг с другом. Сталкивающиеся с такой неровной поверхностью фотоны света отражаются от этих разнородных волокон под разными углами, большая часть света рассеивается, не группируясь в одной точке.
Однако, можно представить какое количество материалов и отражаемого ими света ежесекундно присутствует на ваших мониторах в боях War Thunder. Рассчитывать освещение с таким уровнем детализации не под силу даже офлайн-рендерам для кино, и оно слишком сложное в настройке (как выглядят привычные предметы под электронным микроскопом).

Именно поэтому используются необходимые статистические параметры материалов, такие как “шершавость” (roughness), коэффициент преломления, “металличность” (статическое содержание диэлектрика/проводника в пикселе). Это позволяет уже на этапе создания моделей и соответствующих им материалам оперировать физическими значениями этих материалов, учитывая сочетания необходимых параметров, без последующей корректировки в условиях готовой сцены.
Bi-directional Reflection Distribution Function
Двулучевая функция отражательной способности (ДФОС, англ. Bidirectional reflectance distribution function — BRDF) — четырёхмерная функция, определяющая, как свет отражается от непрозрачной поверхности, позволяет рассчитать количество энергии, отражаемой или рассеиваемой в сторону наблюдателя при заданном входящем излучении. Логично, что металлические, тканевые или деревянные поверхности в игре в разной степени влияют на освещение - рассеивание, преломление и отражение света.
Для подобного расчёта используется математическая модель Microfacet Theory, которая представляет поверхность в виде множества микрограней, ориентированных в разные стороны. При этом каждая из микрограней отражает свет под равным углом. Для того чтобы рассчитать освещение в конкретной точке, нам нужно рассчитать сумму вклада отражённого микрогранями света.

Функция отраженного света Кука-Торренса. l — направление света v — направление взгляда наблюдателя n — нормаль к поверхности h — вектор между векторами l и v (half vector) D(h) — функция распределения микро граней F(v,h) — функция Френеля, G(l, v, h) — функция затенения микро граней. Все параметры данной функции достаточно простые и имеют физический смысл. Но какой физический смысл имеет half-vector? Half-vector нужен, чтобы отфильтровать те микрограни, которые вносят свой вклад в отражение света для наблюдателя. Если нормаль микрограни равна half-vector, значит данная микрогрань вносит вклад в освещение при направлении взгляда V.

Радикальное отличие от классического рендеринга в том, что в PBR все поверхности - металлы, диэлектрики, растительность, и т.д. - рассчитываются по комплексной физической модели. В результате картинка становится целостней, практически исчезает вероятность ошибок освещения. В целом создавать параметры материалов сложнее, чем рисовать классические текстуры. Художники должны создавать не то, что воспринимает глаз или видно на фотографии, но физические свойства поверхности. В случае War Thunder, художникам предстоит перевести все текстуры и материалы под новую модель. Но это позволяет сделать максимально реалистичную и целостную картину.
В построении финального изображения участвуют несколько ключевых функций. О некоторых из них ниже:
Распределения отражений микрограней D(h) позволяет задать процент энергии, для которого происходит отражение света и распределение энергии в зависимости от того, насколько гладкая или шероховатая поверхность. В War Thunder используется так называемая модель GGX (Microfacet Models for Refraction through Rough Surfaces)
Распределения самозатенения микрограней G(l,v,h) определяет, насколько (при пологих углах отражения), поверхность затеняет сама себя. В игре используется функция самозатенения Смита адаптированная для модели GGX (Eric Heitz. “Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs".
- Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs
- Microfacet Models for Refraction through Rough Surfaces
Функция Френеля F(v,h) определяет интенсивность отраженной и преломленной электромагнитной волны при прохождении через границу двух сред. Этот эффект очень заметен на воде, если смотреть на поверхность воды под острым углом, то вода отражает большинство света и мы видим отражение. Если же смотреть на воду сверху-вниз, то отражения мы практически не видим, а видим то, что находится на дне.
Для непрозрачных поверхностей, физический процесс тот же самый, но не отраженный свет будет рассеиваться или поглощаться, по разному в зависимости от длины волны (образуя цветную поверхность).
Благодаря этой функции отражение света меняется в зависимости от угла падения для различных материалов с различном коэффициентом преломления (функция Френеля на самом деле комплексная, и для металлов обладает ещё и мнимой частью, и результат различен для различных длин волн. Поэтому металлы имеют цветной блик). Это особенно заметно на просторных танковых локациях, где практически не осталось тёмных участков - свет везде имеет реалистичную и разнообразную структуру - “в тени” на самом деле всегда тоже есть блики, это отражение света от неба, и других поверхностей. Действительно “темным объектом” бывает лишь щель, отверстие или трещина - ведь попавший туда свет не отражается. В игре для апроксимации функции Френеля используется давно зарекомендовавшая себя в кино и играх “апроксимация Шлика”.
Рассеивание света
Кроме отражения, свет на диэлектриках ещё и рассеивается.

Ранее в игре использовалась модель Ламберта, которая хотя и проста вычислительна не позволяет получать корректное освещение рассеивания света от шершавых поверхностей, которых в игре много. Дело в том, что для шершавых поверхностей, рассеивание света зависит от взаимного положения поверхности и наблюдателя - именно поэтому, например, Луна в небе практически не имеет видимого плавного затемнения на терминаторе. Теперь мы перешли на модель Орен-Найара, чтобы лучше передать не гладкие поверхности, которых в игре большая часть среди окружения.
Что нового эта технология привнесёт в War Thunder?
Технология Physically Based Rendering учитывает особенности каждого материала и с помощью математических формул, в которых указываются свойства рельефа его поверхности, высчитывает и отображает правильное поведение света, который столкнулся с объектом. Таким образом, самолёты и танки стали выглядеть более естественно и вариативно, особенно в разное время суток и при смене погоды. Металлические потёртые фюзеляжи самолётов отражают свет играя бликами в манёврах. На высоких настройках графики, каждая, даже самая мелкая деталь в навесном оборудовании танка теперь не однородно скрыта в тени, а отражает свет от расположенных рядом объектов.







