Снапшот 26.3-snapshot-5: технические изменения, правки генерации и десятки исправлений

Вышел пятый снапшот версии 26.3. В нем обновлены датапак и ресурспак, изменена генерация склок-пятен, доработана система шейдеров, а также исправлено более 20 багов, включая проблемы с рендерингом и поведением мобов.

Вышел пятый снапшот версии 26.3 - Minecraft Snapshot 26.3-snapshot-5. Как и предыдущие тестовые сборки, этот снапшот содержит преимущественно технические доработки и исправления ошибок. В этом обновлении разработчики обновили версии датапака и ресурспака, внесли изменения в генерацию склок-пятен, переработали систему компиляции шейдеров и исправили множество багов, накопившихся с предыдущих версий.

Технические изменения

В снапшоте 26.3-snapshot-5 обновлены версии форматов датапаков и ресурспаков:

  • Версия датапака теперь - 112.0.
  • Версия ресурспака - 93.0.

В датапаке версии 112.0 изменен codec для списков и тегов элементов. Теперь стало возможным смешивать встроенные значения и прямые ссылки в одном списке. Например, модификаторы предметов теперь можно указывать как [{type:set_count, ...}, "minecraft:some_modifier"]. Это упрощает написание пользовательских функций и датапаков, так как разработчики больше не ограничены строгим форматом.

Изменения в генерации мира

В генерации мира затронута одна структура - склок-пятно (minecraft:sculk_patch). Из описания sculk_patch удалены два поля: extra_rare_growths и catalyst_chance. Ранее эти поля управляли появлением редких ростков склока и шансом появления катализатора склока. Разработчики, вероятно, сочли эту механику излишней или планируют переработать её в будущих версиях. Таким образом, теперь склок-пятна генерируются без этих параметров, что может упростить их поведение.

Изменения в работе шейдеров и рендеринга

Ресурспак версии 93.0 принёс несколько значительных изменений в системе шейдеров и пост-эффектов, связанных с Order-independent Transparency (OIT).

Переименование define

Макрос B3D_IS_ZERO_TO_ONE переименован в RENDERPEARL_IS_ZERO_TO_ONE. Это может затронуть пользовательские шейдеры, которые использовали старый макрос - их необходимо обновить.

Компиляция шейдеров

  • Шейдеры теперь компилируются с помощью ShaderC при использовании OpenGL, так же как и при Vulkan. Это унифицирует процесс компиляции.
  • Включения шейдеров теперь обрабатываются ShaderC с помощью директивы #include вместо #moj_import. Это стандартный подход, облегчающий поддержку.
  • Входные и выходные переменные шейдеров должны явно указывать location в исходном коде. Имена вершинных входов по-прежнему должны соответствовать ожидаемым именам, но выходы вершинного шейдера теперь сопоставляются с входами фрагментного шейдера исключительно по location, имя игнорируется.
  • Добавлен новый макрос RENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE - булево значение, указывающее, следует ли gl_InstanceIndex семантике Vulkan или OpenGL (gl_InstanceID).

Примечание разработчиков: В предыдущих версиях с OpenGL для вершинных входов нельзя было указывать location. Совместимость можно сохранить, указывая location только при определённом макросе "VULKAN".

Примечание разработчиков: Раньше выходы вершинного шейдера и входы фрагментного сопоставлялись по имени. Совместимость можно сохранить, продолжая использовать одинаковые имена.

Эти изменения направлены на унификацию работы с шейдерами под разными графическими API (OpenGL и Vulkan) и улучшение переносимости пользовательских шейдеров.

Скидка 10% по промокоду

Ищете хостинг Minecraft серверов?

Запустите свой сервер за минуту — установка модов и плагинов в один клик, защита от DDoS, мощное железо. Промокод PROMO10 даст скидку 10% на любой тариф.

PROMO10
Скопировать
Посмотреть тарифы