
Vitrail Shaders
Vitrail Shaders - клиентский мод для Minecraft, который запускает шейдерпаки формата OptiFine на нативном Vulkan-рендерере игры. Ранняя beta для Fabric и NeoForge, уживается с Iris и Sodium.
Vitrail Shaders - это не шейдерпак, как можно решить по названию, а клиентский мод для Minecraft Java. И решает он одну узкую, но болезненную задачу.
С версии 26.2 в Майнкрафт появился нативный Vulkan-рендерер, который работает параллельно с привычным OpenGL. Вот только беда: все шейдерпаки, какие существуют на свете, писались под OpenGL. На Vulkan они не запускаются вообще. Ни один.
Vitrail (по-русски его иногда называют Витрайл) обходит это и заставляет старые паки работать на новом рендерере без единой правки. Задумывался проект как чистый эксперимент: реально ли паки, которые лепили под OpenGL больше десяти лет, поднять в первозданном виде на рендерере, который теперь идёт с игрой? Проект делает один человек, ковыряет его ежедневно с июля, и стадия у него ранняя - сам игровой бэкенд помечен экспериментальным прямо в игре.
Так что если вам в кайф пробовать новое железо рендера и вы не боитесь beta - залетайте. Пара нюансов важнее всего: Витрайл спокойно уживается с Iris и Sodium на одной установке, а ещё он нормально работает с Distant Horizons.
Как это устроено
Мод читает шейдерпак формата OptiFine из папки shaderpacks/, один раз при загрузке пака транслирует его GLSL и передаёт компилятору, который уже встроен в игру. Ключевой момент: во время отрисовки кадра ничего не переводится. Всё переводится заранее, поэтому лишний удар по производительности тут не закладывается.
Что рисуется через пак
Через ваш шейдерпак проходит почти весь мир: рельеф, вода, тени, небо, облака, погода, частицы, мобы, блочные сущности, рука от первого лица, таблички над никами и сами вывески. То, что всё ещё рисует сама игра, движок помечает в логе при первой отрисовке места - и этот список сокращается с каждым релизом.
Важно: это beta
- Vulkan-бэкенд экспериментальный, игра сама это признаёт. Нужный переключатель так и называется - "Prefer Vulkan (Experimental)".
- Некоторые паки местами выглядят неправильно, а кривая картинка хуже отсутствия картинки. В таблице протестированных паков автор идёт от того, что видно на экране, и называет причину.
- Если вам нужна готовая картинка прямо сейчас - ставьте Iris на OpenGL-бэкенде. Он делает эту работу хорошо и как раз служит эталоном, с которым Vitrail сверяется кадр за кадром.
С какими паками работает
Vitrail - это движок, а не набор паков. Шейдерпаки принадлежат авторам, и их лицензии не позволяют распространять их в связке с модом, так что качаете паки отдельно.
Хорошо рисуются известные:
- Bliss
- BSL
- Complementary Reimagined
- Complementary Unbound
- Euphoria Patches
- I Like Vanilla
- Lux
- Mellow
- Photon
- Sildur's Vibrant
- Solas
- Spooklementary
- iterationT (живёт на Bilibili, в Modrinth и CurseForge его нет)
Любой другой пак из таблицы реально протестированных тоже рисуется, и таблица показывает, насколько близко он подходит к Iris. Если пака в таблице нет - значит его просто ещё не загружали, а не то, что он не поддерживается.
После установки
- Переключите игру на Vulkan и перезапустите её. Настройки графики, пункт "Prefer Vulkan (Experimental)". Бэкенд выбирается при старте игры, так что сработает только со следующего запуска.
- Не хватает FPS - есть ползунок. В настройках графики на собственной странице Vitrail есть "Render Scale": мир рисуется от 25 до 100 процентов окна и возвращается к полному размеру перед интерфейсом, поэтому меню, чат и экран F3 остаются чёткими при любом значении. На слабом железе я бы советовал начать с 75 и крутить вниз только если совсем тяжко.
- Distant Horizons совместим, и дальний рельеф рисуют собственные DH-программы вашего пака. На Fabric ставится как обычный мод. На NeoForge текущий релиз всё ещё падает на Vulkan-рендерере (виноват свой texture unwrapper, а не этот мод), так что исправленную сборку ставьте вручную.
- Chloride не нужен. А если он у вас стоит, пять его настроек решают, что дойдёт до пака: Fast Chests и Fast Beds на странице Performance, а также Max Entity Distance, Max Monster Distance и Max Block Entity Distance на странице Entities. При старте Vitrail пишет в лог, какие из них включены - удобно, если картинка вдруг не такая, как ожидали.
Технические детали
Только клиент, один jar для Fabric и NeoForge. Iris может оставаться установленным рядом, на той версии Sodium, которую просит Iris - Vitrail тоже на ней работает: на Vulkan рисует Витрайл, на OpenGL - Iris, и переключение бэкенда в настройках графики переключает сами движки.
Актуальный релиз - v0.12.0-beta. Заявлена поддержка Minecraft 26.2 и 26.3, загрузчиков Fabric и NeoForge. Для ветки 26.3 нужен NeoForge 26.3.0.16-beta+ либо Fabric с Fabric API и Sodium 0.9.2. В свежей версии добавили поддержку 26.3, переключатель уведомления о компиляции, подтянули отражения, цветное освещение на Mac, движущиеся блоки и совместимость с парой капризных паков.
Совет на старте: перед первым переходом на Vulkan сделайте бэкап мира. Не потому что мод что-то ломает - просто beta есть beta, а бэкенд экспериментальный. Вложение десяти минут, а спокойствия на весь тест.
Лицензия и заимствования
LGPL-3.0-only. Части загрузчика паков и каталога значений адаптированы из Iris, который тоже под LGPL-3.0, а грамматика выражений - это stareval от Kroppeb. Что взято и что изменено по пути, записано файл за файлом в NOTICE проекта.
Скачать мод Vitrail Shaders стоит, если вы уже сидите на Vulkan-ветке Майнкрафта или хотите попробовать её без потери любимого шейдерпака. На OpenGL-то всё просто - есть Iris. А вот на новом рендерере Витрайл пока что единственный способ увидеть свою картинку.
Как поиграть с друзьями с модом Vitrail Shaders?
Мод Vitrail Shaders куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Vitrail Shaders будет готов за пару минут - BungeeHost сделает всё за вас.
