Эксперты издания Digital Foundry провели масштабное исследование, показав, как за последние три десятка лет изменялся рендеринг снега в компьютерных играх — от примитивных текстур середины 90-х до фотореалистичных, физически точных зимних ландшафтов современности.
Ролик начинается с эпохи первых 3D-ускорителей, таких как 3dfx Voodoo и Nvidia Riva 128. Игры вроде Star Wars: Shadows of the Empire (1997) представляли снег простыми растянутыми текстурами в оттенках белого и синего, с минимальным затенением и плоской геометрией. Для создания атмосферы использовался туман, который не только добавлял настроение, но и банально скрывал части карты, чтобы разгрузить железо. Производительность была на грани: Pentium 233 с Riva 128 с трудом держал 30 кадров в секунду.
Любопытно, что некоторые из самых впечатляющих снежных пейзажей конца 90-х вообще не использовали 3D-ускорители. Outcast (1999) рендерил мир с помощью вокселей на CPU, что позволяло создавать достаточно детализированную, неровную поверхность снега с настоящими следами и индивидуальным освещением для каждого микрообъема — технологии, до которых GPU-рендеринг доберется лишь годы спустя. Правда, ценой было разрешение 400x300 и нестабильный фреймрейт на топовом Pentium III.
С приходом программируемых шейдеров DirectX 8/9 началась новая эра. В Halo: Combat Evolved появились технологии, добавлявшие плоским текстурам иллюзию объема и рельефа. Hitman: Contracts (2004) в своё время удивил пользователей снежной бурей: частицы-снежинки в виде треугольных полос растягивались и размывались, создавая эффект скорости и метели. Однако, производительность по-прежнему оставалась проблемой: пиксельные шейдеры были тяжелы для виднокарт вроде GeForce FX 5900 XT.
Настоящий прорыв в реализме снега связан с эрой DirectX 10 и монструозной GeForce 8800 GTX. В Lost Planet (2006) снег деформировался под ногами, оставляя не просто 2D-декали, а объемные следы, а выстрелы оставляли на снегу дыры. Но королем эпохи, безусловно, стал Crysis (2007). Замороженный тропический остров поражал детализацией: параллакс с самозатенением создавал невероятно рельефную поверхность, динамические слои инея покрывали объекты, а микро-блики на снегу имитировали отражение света от ледяных кристаллов. Всё это, впрочем, обрушивало даже две 8800 GTX в SLI до 30-40 кадров при 720p.
Отдельного упоминания заслуживает Cryostasis (2008) — нишевый хоррор, который стал технологическим чудом благодаря физике частиц. Лёд таял в реальном времени, превращаясь в воду, снежинки огибали препятствия под действием симуляции ветра, а ледяные глыбы разлетались на тысячи осколков. Это был редкий пример симуляции фазового перехода, нечасто встречающийся даже в современных играх.
Мостом в современность стал DirectX 11 и тесселяция. В Batman: Arkham Origins (2013) следы Бэтмена в снегу наконец-то стали настоящими деформациями геометрии, а не текстурными трюками. Это обеспечило корректные силуэты и разную глубину отпечатков, в зависимости от нажатия. Тесселяция снега стала де-факто стандартом.
Сегодня эволюция снега — это не столько новые концепции, сколько невероятный рост детализации, точности и производительности. Red Dead Redemption 2 объединила все лучшие техники прошлого — динамические слои снега на одежде, объёмный туман, тесселяцию, физически корректные материалы — в невероятно целостную и тактильную картину. В Assassin’s Creed Shadows тысячи снежинок подчиняются сложной симуляции ветра, а плотность тесселяции деформаций достигла нового уровня.
Апогеем современного рендеринга снега в Digital Foundry считают Indiana Jones and The Great Circle. С включенным трассировкой пути освещение снега кардинально меняет его восприятие. На открытом пространстве под пасмурным небом он выглядит мягким и диффузным, а в пещерах с направленным светом становится резко контрастным и глянцевым. Геометрическая детализация следов, вероятно, приближается к размеру пикселя, а лёд, благодаря точному расчёту освещения, выглядит невероятно объёмным и прозрачным.