Обзор бета-версии игры Minecraft RTX с применением трассировки лучей

Компания Nvidia впервые рассказала о своих видеокартах серии GeForce RTX в августе-сентябре 2018 года, и они были не совсем однозначно приняты игровым сообществом. Хотя эти решения стали первыми графическими процессорами с аппаратной поддержкой трассировки лучей, цена новинок некоторым показалась слишком завышенной, да и мощности первых GPU с поддержкой трассировки хватало лишь на какие-то отдельные эффекты с ее применением. Критики наперебой утверждали, что они не слишком то заметны и нужны, ведь хитрыми хаками в растеризации добились неплохой имитации этих же эффектов без всяких трассировок.

Первые проекты со спешно внедренной в них трассировкой лучей действительно могли показаться спорными в этом смысле. Да, в них добавились такие эффекты, как физически корректные отражения, но эти вещи в пылу сражений не так уж и заметны, а вот производительность падала довольно сильно. Но затем вышли игры с более заметным применением трассировки для отрисовки теней (Shadow of the Tomb Raider) и глобального освещения (Metro Exodus), и во всех были проведены дополнительные оптимизации, позволившие снизить негативное влияние включения этих эффектов на общую производительность.

Позднее появились и такие проекты, как игра Control, в которой была сделана чуть ли не лучшая поддержка аппаратной трассировки лучей (для современных игр), а также специальная версия Quake II RTX от Nvidia, отличающаяся не просто парой эффектов, использующих трассировку лучей, но имеющая полную трассировку пути, которая вывела реализм освещения на новый уровень. Да, в целом хорошо видно, что это старая игра, но реалистичное освещение в ней выглядит просто потрясающе. А уж после того, как поддержка аппаратной трассировки лучей была заявлена и в будущих консолях, в важности и значимости этой технологии перестали сомневаться многие из былых скептиков.

И когда в августе прошлого года было объявлено о грядущей поддержке трассировки лучей в игре Minecraft, большинством это было воспринято позитивно. Эта игра имеет графику намеренно упрощенную, в стиле этакого кубизма и примитивизма, и она не требует молниеносных действий от игрока при сотне-другой кадров в секунду, поэтому неудивительно, что она отлично подошла для внедрения трассировки. Тем более что Microsoft также заинтересована в продвижении DirectX 12 и DXR API — именно этот индустриальный стандарт и использует новая версия игры для поддержки трассировки лучей.

Minecraft — это наиболее массовая игра вообще, она была продана в количестве 176 миллионов копий на всех платформах. И хотя эта игра вышла уже 10 лет назад, она остается в топе популярных проектов. И сообщество Minecraft в целом довольно неплохо относится к разнообразным графическим модам, а физически корректные освещение, тени, отражения и преломления в реальном времени желанны для ценителей качественной компьютерной графики. А если кто еще не стал ценителем, то RTX-версия им поможет в этом. С аппаратной трассировкой лучей все перечисленные эффекты, изрядно меняющие восприятие игры, вполне возможны даже не на самых мощных системах с GeForce RTX (а в будущем — и не только на них, Microsoft уже показывала работу модифицированной версии игры на следующем поколении консоли Xbox).

Специалисты компании Nvidia работали с Mojang Studios и Microsoft для добавления поддержки трассировки лучей в игру уже довольно продолжительное время, и вот наконец-то они решили поделиться бета-версией игры и с публикой. Тестовая версия Minecraft RTX доступна в Microsoft Store с сегодняшнего дня, и хотя она до сих пор еще не идеальна, но уже позволяет начать создавать впечатляющие новые миры с внедрением реалистичных отражений и преломлений, качественного освещения и теней.

Для начала RTX-экспансии на рынке Minecraft Marketplace открыт доступ к шести бесплатным новым RTX-мирам, созданным компанией Nvidia в партнерстве с сообществом любителей этой игры. В них вы найдете открытые пространства и помещения, красочные ночью и днем, красивые замки, пещеры и поля, и даже целое подводное царство. Кроме этого, предлагаются утилиты от Nvidia для создания RTX-карт, наборы текстур и другие качественные ресурсы, помогающие при создании материалов, основанных на физических свойствах.

Трассированные кубики

Как и Quake II RTX, специализированная версия Minecraft RTX включает полноценные эффекты, которые используют все возможности по аппаратному ускорению трассировки лучей, в отличие от гибридного подхода с применением растеризации в основной части рендеринга и трассировке, используемой лишь для части эффектов, как это сделано в других играх. И разница между растеризованной и трассированной версиями тут просто потрясающая — чуть ли не еще больше, чем в Quake II RTX!

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

Одна из самых важных вещей в компьютерной графике — освещение. От его реалистичности зависит восприятие картинки в целом. Никакие детализированные текстуры и сложнейшая геометрия не позволят сделать виртуальный мир реалистичным без достоверного освещения. Люди видят несоответствие освещения тому, что должно быть в реальности чисто подсознательно, даже не осознавая полностью, почему конкретно оно выглядит нереалистично. Мозг просто сопоставляет увиденное с полученным ранее опытом и делает выводы — он не просчитывает все лучи, но как чувствует, с какой стороны объекты должны быть освещены и насколько сильно.

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

Расчет освещения и других вещей при помощи трассировки лучей серьезно увеличивают реалистичность отрисованной картинки в целом. Даже в намеренно упрощенном кубическом мире игры Minecraft. То же самое реалистичное освещение позволяет показать день и ночь в игре именно так, как они и должны быть в реальности, добавляя попиксельное динамическое освещение во всю сцену, включая глобальное. Например, лучи солнечного света, проникающие сквозь разноцветные витражи внутрь светлого замка в «Imagination Island RTX» выглядят довольно интересно:

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

И источники лавы в различных пещерах не просто сами по себе отрисованы красным цветом, как при растеризации. В RTX-версии они сами излучают свет, как и происходит в реальности. Свет от этих поверхностей с физически корректными характеристиками освещает соседние блоки в игре, от них отражается дальше и всё вместе это дает эффект реалистичной пещеры с тенями и освещенными участками именно там, где они и должны быть:

В общем, без трассировки лучей получается типичное плоское освещение без реалистичных теней, с явно меньшей детализацией и без объема, а трассировка всё это добавляет. Если говорить о других эффектах освещения, то можно вспомнить объемные источники света, которые так любят в современных играх. Полная трассировка позволяет выполнить их на другом уровне, по сравнению с привычными хаками растеризации (также часто использующими зачатки трассировки, к слову). Особенно хорошо этот эффект виден в подводных мирах, например в «Crystal Palace RTX», хотя и не только там:

Оба скриншота сняты с включенной трассировкой, потому что под водой вообще нет смысла сравнивать трассированную версию с обычной, уж слишком разница велика. Лучше всего можно ее оценить по обычной комнате, освещенной солнечным светом через небольшие окна. Мало того, что в трассированной версии само по себе освещение реалистичное (все поверхности освещены физически корректно) и оно полностью динамическое, так еще и имитируются видимые объемные лучи света (эффект godrays):

Следующий важный эффект, при отрисовке которого очень сильно помогает достичь реалистичности именно трассировка — это отражения. Мы неоднократно разбирали все проблемы, преследующие хаки растеризации при попытках имитации отражений — по сути, при растеризации реалистичные отражения просто невозможно отрисовать на 100% корректно и без каких-либо ограничений.

Трассировка же лучей позволяет любым поверхностям с соответствующими характеристиками отражать все остальные объекты реалистично, под любым углом и без ограничений по видимым объектам в кадре (на что не способен алгоритм отрисовки отражений, использующий экранное пространство при растеризации), с любым коэффициентом отражения и с максимальным количеством деталей (чего не могут обеспечить отражения, отрисованные при помощи динамического обновления кубических карт среды), ну и т. д. А трассировка лучей позволяет визуализировать отражающие поверхности без особых ограничений. Вот самый простой пример с самосветящимися блоками, отражающимися на поверхности пола:

Отражающие поверхности в Minecraft RTX способны в отражениях любую динамическую геометрию (модель игрока или другие) на них без каких-то ограничений, что может серьезно изменить подход к реализации новых миров. В качестве лишь одного из подобных примеров можно привести комнату из карты «Color Light and Shadow» с бесконечными (ну, почти) отражениями. Подобный эффект рекурсивных отражений практически невозможно сделать без применения трассировки лучей:

Подобные эффекты дают создателям миров в этой игре совершенно новые возможности, и кто знает, до чего додумается их созидательные головы. Кроме отражений, в Minecraft RTX также поддерживаются еще и преломления — для их отрисовки даже используется отдельный проход при рендеринге, о чем мы поговорим ниже. Это один из самых впечатляющих, но и ресурсоемких эффектов, доступный с применением трассировки лучей, и в игре он также используется, показывая самую большую разницу между растеризацией и трассировкой. При взгляде из-под воды, например:

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

Результат работа трассировки вы можете видеть на экране (хотя ей в плюс сработали не только тени, конечно же, но и освещение в целом) — почти абсолютно плоский мир растеризации и объемный реалистичный мир трассировки, подсвеченный и затененный именно там, где нужно. Лучше всего разница в детализации теней видна при длинных тенях на рассвете или закате. Вот еще один пример (все скриншоты сняты в одно и то же игровое время без смены погоды, естественно):

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

Большинство текстур в базовой версии Minecraft используют только два слоя (цвет и прозрачность), чего явно мало для реалистичного рендеринга различных поверхностей. Поэтому в RTX-версии к уже упомянутым слоям были добавлены текстурные слои, описывающие характеристики отражательной способности, светимости, степень шероховатости, а также карты нормалей и высот для имитации различных материалов, встречающихся в реальности.

Всё это гораздо ближе к тому, что мы видим в реальном мире, это и позволяет повысить качество отрисовки таких поверхностей, как металл, мрамор и дерево, например. Ведь все материалы в жизни имеют сильно отличающиеся характеристики, от матовой поверхности необработанного дерева, почти не отражающего свет, до гладкого полированного металла, похожего на зеркало. Эти возможности позволяют создать более реалистичные миры в Minecraft RTX, как бы странно это ни звучало. Ну хорошо — может и не особо реалистичные, но уж точно более разнообразные.

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

Реализация трассировки

Компания Nvidia внедрила в Minecraft RTX полноценный трассировщик путей с расчетом отражений, преломлений, теней и глобального освещения. Применение физически корректных материалов позволило реализовать всё это, и в частности из самых заметных отличий от растеризации — попиксельное освещение от излучающих свет (самосветящихся) материалов и корректное объемное освещение.

Рендерер в трассированной версии игры многопроходный, им рассчитывается отдельно рассеянная (diffuse) и отраженная (specular) составляющие освещения, а также есть отдельные проходы для отрисовки преломления лучей света и объемного освещения. Затем все буферы комбинируются в процессе постобработки, а частицы вроде дождя дополнительно пририсовываются при помощи растеризации.

Главное в рендерерах с трассировкой — качественная оптимизация, в том числе по количеству лучей, ведь трассировка очень ресурсоемка. И тупой результат, полученный при малом количестве рассчитываемых на пиксель лучей, всегда получается слишком шумным, требующим максимально эффективного шумоподавления. В частности, в бета-версии Minecraft RTX используется три специфических фильтра шумоподавления — отдельно для diffuse, specular и теней.

Основной проход в этой игре довольно типичен, за исключением дополнительного (и очень «шумного») буфера, содержащего тени от солнца, который и отличает этот проход от типичного процесса растеризации, обычно использующей карты теней.

Далее следуют проходы расчета непрямого рассеянного и отраженного освещения — это составляющие расчета глобального освещения. Следующий проход с отрисовкой преломлений для поверхности воды и стекла, учитывающий в том числе шероховатость поверхностей. Ну и последним идет проход, рассчитывающий объемные эффекты видимых лучей света (godrays) и тумана.

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

С общим принципом построения изображения мы разобрались, но какая же из указанных составляющих процесса рендеринга больше всего бьет по производительности конкретно в Minecraft RTX? Мы знаем, что трассировка лучей в целом очень ресурсоемкая штука, но сколько времени занимают разные стадии процесса? Nvidia дает конкретную раскладку:

15% времени построения кадра занимает обновление кэшей светимости (интенсивности излучения — irradiance) и объемных эффектов, а сама по себе трассировка занимает лишь 40% времени кадра (из них расчет прямых лучей отнимает 8%, а непрямое освещение — 32%).

А на что тратится еще почти половина времени рендеринга? Так как рендер реального времени в Minecraft RTX очень сильно оптимизирован по количеству лучей и отскоков из-за высокой ресурсоемкости трассировки в целом, то разработчикам пришлось использовать хитрые методы шумоподавления. До и после специальной фильтрации шумов изображение выглядит так:

Можно сказать, что на первой картинке виден один сплошной шум, а крайне редкие поверхности без него являются просто слишком гладкими, идеально подходящими для трассировки. Поэтому неудивительно, что такая большая часть времени построения кадра уходит на алгоритм шумоподавления Spatiotemporal Variance-Guided Filtering (SVGF) для двух буферов (diffuse и specular) — целых 39%, а еще 6% — на подавление шумов в буфере теней от прямого освещения.

Остальные, еще гораздо более глубокие технические детали рендерера Minecraft RTX можно узнать из ролика Nvidia, предназначенного для разработчиков:

Поддержка DLSS 2.0

Ну хорошо, о плюсах трассировки мы поговорили достаточно. А недостатков нет, получается? Куда без них. Чуть ли не единственной слабой стороной трассировки лучей является высокая ресурсоемкость процесса рендеринга. Да, появление графических процессоров серии GeForce RTX позволило реализовать аппаратную поддержку трассировки и внедрить некоторые эффекты, но возможностей даже самых мощных GPU из существующих всё еще явно недостаточно.

Но очень вовремя им подоспела помощь со стороны всё той же архитектуры Turing. Как известно, в составе новых чипов есть специализированные тензорные блоки для ускорения операций глубокого обучения. Технология улучшения производительности DLSS использует возможности этих чипов по ускорению нейросетей для быстрого и качественного апскейла — повышения разрешения рендеринга от более низкого к высокому. Мы уже рассказывали о работе этой технологии, но с тех пор она была так серьезно улучшена, что получила версию DLSS 2.0.

Новая версия DLSS использует Neural Graphics Framework (NGX) и нейросеть, специально натренированную на суперкомпьютерах на десятках тысяч изображений для того, чтобы из картинки низкого разрешения и буфера векторов движения реконструировать изображение в высоком разрешении и максимальном качестве. Эти задачи в теории можно выполнить и на универсальных вычислительных блоках, но с гораздо меньшей производительностью и эффективностью, а именно тензорные ядра и позволяют выполнить подобный алгоритм в реальном времени.

Из улучшений именно второй версии DLSS особо отметим повышенное качество изображения. DLSS 2.0 использует новые техники накопления информации из предыдущих кадров для повышения четкости и детализации при сохранении высокой стабильности изображения. При этом, новая версия DLSS отлично масштабируется на всех поддерживаемых GPU при разных разрешениях, что было проблемой первой версии. Новая модель ИИ вдвое эффективнее использует тензорные ядра, что убирает ограничения по разрешениям и моделям видеокарт.

Кроме этого, DLSS 2.0 теперь использует одну нейросеть для всех игр, тогда как первая версия требовала тренировки для каждой игры по отдельности. Универсальная нейросеть означает ускоренное внедрение технологии DLSS в будущие игры, а в списке поддерживаемых уже есть Control, MechWarrior 5: Mercenaries, Deliver Us the Moon и Wolfenstein: Youngblood, в которых новая технология уже показала свои достоинства.

DLSS 2.0 предлагает три режима качества: Quality, Balanced и Performance. Некоторые из них имеют свои ограничения, но режим Performance можно использовать вплоть до четырехкратного увеличения разрешения! Конкретно в бета-версии Minecraft RTX технология DLSS 2.0 включается при помощи пункта «Upscaling» в меню продвинутых графических настроек и включена по умолчанию.

Важно, что режим DLSS 2.0 жестко привязан к разрешению, как минимум пока что. При выходном разрешении Full HD используется качественный режим Quality, при 2560×1440 — режим Balanced, а при 4K-разрешении режим безальтернативно выставляется в Performance. Возможно, в дальнейшем нам позволят управлять режимами, но пока приходится мириться с тем, что есть.

DLSS 2.0 неплохо масштабируется по всем этим разрешениям, и в Full HD технология дает ускорение порядка 70%, в зависимости от применяемой модели GPU. В частности, следующие измерения компании Nvidia были полностью нами подтверждены, у нас получились примерно такие же значения частоты кадров на видеокарте GeForce RTX 2080 Ti при аналогичных условиях:

Вот такие приличные приросты получаются с DLSS 2.0 в разных разрешениях и режимах качества в Minecraft RTX. Именно применение этой технологии и позволяет всей линейке видеокарт GeForce RTX показывать достаточную производительность для достижения хорошей играбельности в бета-версии Minecraft с применением аппаратной трассировки лучей.

И что даже еще более важно, включение DLSS 2.0 позволяет серьезно повысить производительность при сохранении достаточно высокого качества изображения, по сравнению с рендерингом в родное (полное) разрешение. Включение продвинутого апскейла с применением нейросети второй версии позволяет повысить скорость рендеринга без явных потерь в качестве. Рассмотрим несколько примеров:

DLSS off
DLSS on
DLSS off
DLSS on
DLSS off
DLSS on

Очень неплохо! Конечно, при попиксельном сравнении можно увидеть небольшую разницу в качестве на некоторых гранях при определенных условиях (плохое освещение и растительность, например), а гладкость и четкость линий выше при нативном разрешении, но в любом случае для повышенного разрешения результат выглядит весьма достойно и визуальные недостатки подобного апскейла практически не заметны в динамике.

DLSS off
DLSS on

Правда, иногда видны артефакты, возникающие из-за того, что алгоритм использует информацию из предыдущих кадров — например, вы можете увидеть на скриншоте справа смазанные грани зеленых пикселей с эффектом ореолов в виде линий из предшествующих кадров. Но это видно, только если специально искать недостатки и внимательно вглядываться, а в остальном технология работает просто отлично. Кроме этого, DLSS явно будет еще тренироваться и дорабатываться и дальше, ведь это всего лишь бета-версия игры.

Оценка производительности и выводы

После того, как мы подробно рассмотрели плюсы трассировки лучей и процесс рендеринга с применением аппаратного ускорения трассировки, нам остается узнать, что у Nvidia получилось с производительностью. Хотя Minecraft в силу жанра и не предъявляет жестких требований к частоте кадров и плавности, но игрокам на ПК всегда хочется комфортной игры как минимум со стабильными 30 FPS, а еще лучше — 60 FPS.

Специально для бета-версии Minecraft RTX компания Nvidia выпустила оптимизированный драйвер версии 445.87, который мы и использовали при ознакомлении с игрой. В минимальных системных требованиях трассированной версии игры указана модель GeForce RTX 2060, так как это самый слабый GPU с аппаратной поддержкой DXR API и наличием тензорных ядер, необходимых для работы DLSS 2.0. Так как полная трассировка пути очень требовательна, то запуск трассированной версии на решениях семейства Pascal невозможен, поскольку даже мощная GeForce GTX 1080 Ti не даст необходимой производительности при включенной трассировке.

Включить трассировку в бете можно в продвинутых настройках графики «Advanced Video», за это отвечает пункт «DirectX Ray Tracing». А включить DLSS 2.0 можно при помощи параметра «Upscaling». Игра Minecraft при рендеринге всегда использует разрешение рабочего стола, в отличие от большинства других игр, и для того, чтобы изменить разрешение рендеринга, приходится менять разрешение в Windows 10 целиком, что не очень удобно.

Есть тут и еще один важный пункт настроек, изменяющий дальность отрисовки от 8 до 24 условных единиц, выставленный по умолчанию в минимальное значение. При максимальном же в большинстве случаев с производительностью также не происходит ничего страшного, но в некоторых гигантских мирах наблюдаются приличные притормаживания, не позволяющие использовать повышенную дальность отрисовки. К слову, от растеризованной версии с дальностью отрисовки до 160 пунктов трассированная версия всё равно отличается довольно сильно — очень далекие блоки просто не будут видны:

Но давайте перейдем к результатам тестов. Мы протестировали топовую модель GeForce RTX 2080 Ti в трех разрешениях, с включенным DLSS 2.0 и без апскейла, в полном разрешении вывода. Для своих тестов мы выбрали «подводную» комнату с аквариумами в мире «Color, Light and Shadow RTX». Вот видеоролик с процессом:

Как минимум 30 FPS топовая модель Nvidia обеспечивает везде, кроме 4K-разрешения без применения DLSS 2.0. Но с учетом того, что применение качественного апскейла тут практически незаметно, можно считать 40-48 FPS в этом разрешении также весьма комфортными. Не говоря уже о более низком разрешении, ведь в Full HD даже без включения DLSS наша видеокарта была близка к 60 FPS, а в промежуточном разрешении 2560×1440 включение DLSS 2.0 позволяет обеспечить максимальный комфорт.

  Avg Min
1920×1080 + DLSS 95 80
1920×1080 57 47
2560×1440 + DLSS 75 64
2560×1440 36 28
3840×2160 + DLSS 48 40
3840×2160 17 13

При этом в обычном режиме растеризации эта же RTX 2080 Ti показала порядка 120-160 FPS в 4K-разрешении. За неимением в наличии остальных решений линейки GeForce RTX, приведем данные от самой Nvidia еще по паре моделей их видеокарт для Full HD-разрешения. Удивительно, как близки их результаты к нашим в случае модели RTX 2080 Ti, хотя мы с ними и использовали разные комнаты одного и того же мира:

Получается, что в разрешении 1920×1080 даже без включения DLSS минимально допустимую производительность обеспечит и GeForce RTX 2060, а уж с DLSS 2.0 она будет близка даже к более комфортной планке 60 FPS. У модификации Super этой же видеокарты дела обстоят еще чуть лучше. Может они обе даже и разрешение 2560×1440 потянут — только с DLSS, конечно. Не забываем также, что Minecraft RTX находится в бета-стадии разработки и наверняка программисты найдут еще возможности для дальнейшей оптимизации к релизу улучшенной версии игры.

Результаты в целом неплохие для полной трассировки пути, но с учетом относительной простоты миров в Minecraft это приводит нас к тому простому выводу, что пока полная трассировка пути доступна лишь для подобных упрощенных сцен, довольно простых геометрически, а также по материалам и эффектам. По меркам современных игр, разумеется. Но результат очень хорошо заметен, и он впечатляет — наконец-то мы видим освещение именно таким, каким оно должно быть, а не в виде довольно примитивной его имитации, выполненной при помощи хаков растеризации.

Освещение и тени в Minecraft RTX максимально правдоподобны, глобальное освещение также придает реализма, как и правильные отражения на проработанных материалах с физически корректными свойствами. А представьте себе, когда всё это будет уже в играх со сложными сценами, геометрией и текстурами. Возможно, для всего этого потребуется подождать еще парочку поколений GPU, но аппаратная трассировка точно этого стоит. Тем более, что она скоро будет и в консолях.

Если же говорить конкретно про Minecraft, то кто-то наверняка задастся вопросом, а нужна ли трассировка лучей подобной «кубической» игре, для которой графика — вроде как далеко не самое важное дело? Во-первых, судя по большому количеству графических дополнений (текстуры, эффекты, постфильтры) к этой игре — многим игрокам графика таки важна. Во-вторых, никто же не заставляет всех срочно переходить на RTX-версию, а возможность выбора — это всегда хорошо. Кто-то любит реалистичную графику, пусть и в таком нарочито кубическом мире, а для кого-то это вообще не важно. К слову, вполне возможно, что кто-то именно на примере Minecraft RTX ей и заинтересуется. Хотя, конечно же, уже существует множество модификаций с улучшенной графикой в этой игре, но трассировка на таком уровне качества в ней появилась впервые.

Ну и в-третьих, трассировка лучей и физически корректные материалы позволяют влиять в том числе и на игровой процесс. Вспомните полностью зеркальную комнату из примеров Minecraft RTX. Кто-то из фанатов сможет создать уникальные миры, использующие подобные зеркальные поверхности, другие пользователи найдут варианты применения достоинств прозрачной воды с отражениями и преломлениями. Фантазия создателей ограничена уже меньшим количеством условностей. А главное, что прогресс в графике реального времени очевиден, и рано или поздно трассировка пути придет практически во все 3D-игры.

Отдельно отметим то, как хорошо показала себя технология повышения разрешения (или производительности, как больше нравится Nvidia) в виде DLSS 2.0. Вторая версия технологии выгодно отличается как большей гибкостью и универсальностью, так и обеспечивает достаточно высокое качество даже при повышении разрешения вчетверо! Конечно, некоторые артефакты при ее работе всё же проявляются, но они практически не видны при игре, а не попиксельном сравнении скриншотов. Именно DLSS и помогает обеспечить играбельность в Minecraft RTX на всех видеокартах серии GeForce RTX.

16 апреля 2020 Г.