Вторая революция графики в Minecraft

Вторая революция графики в Minecraft

Felix14_v2

Вступление

Как ты, наверное, знаешь, майнкрафт сейчас использует OpenGL для рендеринга.

Его версию можно видеть в меню отладки, например.

OpenGL – это набор инструментов, который игра использует для управления графическим процессором. И хоть OpenGL работает на каждом "утюге", он уже много лет как считается устаревшей графической библиотекой и больше не развивается. Например, через OpenGL игра не может управлять RT-ядрами в RTX-видеокартах, из-за чего рей-трейсинг стал возможен только в бедроке, а топовые шейдеры в Java Edition используют лишь имитацию трассировки лучей на ядрах CUDA. Всё из-за того, что RT-ядра были "придуманы" уже после того, как умерла поддержка OpenGL.

Неужели конец?

Да, OpenGL больше не обновляется, и поэтому Minecraft можно считать устаревающей игрой. Но на смену придумали библиотеку Vulkan. Это та же OpenGL, только проработанная на более глубоком и современном уровне – Vulkan позволяет использовать вычислительную мощь видеокарты во многих случаях гораздо эффективнее. Например, на Vulkan работал легендарный Detroit: Become Human, который имел довольно низкие минималки и даже на моём ноутбуке шёл в 60+ FPS на средних  (̶в̶а̶н̶и̶л̶ь̶н̶ы̶й̶ ̶м̶а̶й̶н̶ ̶д̶а̶ж̶е̶ ̶н̶а̶ ̶1̶2̶ ̶ч̶а̶н̶к̶а̶х̶ ̶л̶а̶г̶а̶е̶т̶,̶ ̶б̶л̶и̶н̶)̶.

Так вот: ещё год назад за переписывание майна на Vulkan взялись сразу три независимых человека – разработчик шейдеров Continuum с модом Focal Engine (но позже отказался от идеи и просто реализовал нужные ему графические функции) и два неизвестных ранее разработчика: KilnGraphics с модом Blaze4D (забавное название, ванильный граф. движок называется Blaze3D) и xCollateral с модом VulkanMod. Сейчас оба проекта уже находятся на ранней стадии пре-альфы, когда их можно тестировать в полурабочем состоянии.

Тесты

Успешно скомпилировать Blaze4D мне так и не удалось, поэтому свои примеры FPS на моём ноутбуке (GTX 1050 на борту) приведу с VulkanMod:

Идеальная для рендеринга сцена – Blaze3D (Vanilla)
Легенда первой революции графики – Sodium
Ванильный рендер (Blaze3D), перенесённый на Vulkan

Неужели Sodium устарел?

Нет. Sodium – это целый графический движок, который полностью переписывает весь рендеринг, чтобы сделать его максимально оптимизированным. VulkanMod же ничего не меняет в графике. Всё, что он делает – заменяет используемые игрой обращения к OpenGL на обращения к Vulkan. А это значит... Значит, когда-нибудь, Sodium или отдельные его оптимизации смогут адаптировать и к использованию вместе с VulkanMod.


Послесловие

Когда бедрок уже сейчас задыхается от проблем с производительностью их Render Dragon'а, которым они так хвалились после отказа от Super Duper Graphics Pack, джава молча, втихаря переписывает сама себя. Точнее, комьюнити переписывает свою игру. К слову, разработчики Java Edition тоже сильно постарались над оптимизацией в 1.19, после лагучей 1.18 она даже в ванили идёт гораздо плавнее, чем предшественница с оптимизаторами.

Чего не скажешь о Bedrock Edition, в которой на всех устройствах принудительно включили хвалёный Render Dragon, в результате чего у бедрока появилась своя 1.15 :)

Ну а на этом всё. Хорошего дня!












Report Page