modsmith Войти Войти Рус / Eng

Sodium Core Shader Support

sodium-core-shader-support · 1111848 загрузок · Apache-2.0

клиент: required · сервер: unsupported (заявлено автором мода)

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

Описание

Поддержка шейдеров Sodium Core

Modrinth Downloads CurseForge Downloads License Environment Client Discord

[!ВАЖНО] Этот мод не получает дальнейших обновлений. Начиная с версии 0.9.0 и Minecraft 26.2, натрий позволяет изменение шейдеров Sodium без этого мода! Если конкретная упаковка не действует на Натрий, это означает, что что пакет необходимо обновить до конкретной версии натрия 0.9.x.

В настоящее время не планируется обновлять этот мод до более старых версий натрия/Minecraft (например, 1.21.x).

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

ko-fi

Документация для пользователей

Поддержка шейдеров Sodium Core позволяет пакетам ресурсов заменять шейдеры ядра натрия на свои собственные. Это не означает, что этот мод заставляет каждый ванильный пакет ресурсов работать на натрии. Пакеты ресурсов будут работать только в том случае, если в них конкретно указано, что они совместимы с поддержкой шейдеров натрия ядра.

Если вы используете поддерживаемый пакет ресурсов, вы можете просто активировать его, как и любой другой пакет ресурсов.

Ресурспак несовместим

Натрий может отображать сообщение The following resource packs are incompatible with Sodium в правом верхнем углу после перезагрузка ресурсов и листинг вашего активного ядра шейдеры. Это сообщение будет появляться всегда, даже если пакет ресурсов поддерживает шейдеры натрия, и его можно игнорировать.

Список пакетов ресурсов

Это небольшой список пакетов ресурсов, работающих на натрии. Если вы сами создали пакет ресурсов, не стесняйтесь откройте вопрос на моем github, чтобы добавить его в этот список!

Документация для разработчиков шейдеров

Важно понимать, что ваши ванильные шейдеры нельзя просто скопировать в натриевые шейдеры. У Sodium есть свои шейдеры для блоков и облаков:

- assets/sodium/shaders/
   | - clouds.fsh
   | - clouds.vsh
   | - blocks/
        | - block_layer_opaque.fsh
        | - block_layer_opaque.vsh
   | - include/
        | - fog.glsl 
        | - chunk_material.glsl
        | - chunk_matrices.glsl
        | - chunk_vertex.glsl

Если вы не хотите изменить натриевые облака, block_layer_opaque обычно являются наиболее важными. Вам не следует прикасаться к chunk_material.glsl, chunk_matrices.glsl и chunk_vertex.glsl, если вы не знаете, что вам нужно. делают.

Получение исходного кода шейдеров натрия

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

блок_слой_опак

block_layer_opaque используется для всех блоков и блочных объектов. Эквивалент ванильного Майнкрафта — terrain.fsh. и terrain.vsh (в старых версиях Minecraft эквивалентом являются rendertype_solid, rendertype_cutout, rendertype_cutout_mipped, ...).

Кроме того, поддержка шейдеров натрия добавляет несколько определений в шейдеры натрия block_layer_opaque.fsh. и block_layer_opaque.vsh для некоторых типов местности:

  • RENDER_PASS_SOLID: Твердые блоки
  • RENDER_PASS_CUTOUT: блоки, такие как листья, трава, стекло и т. д.
  • RENDER_PASS_TRANSLUCENT: блоки с фактической прозрачностью, например. вода, мёд, слизь,...

Более того, определение SODIUM_CORE_SHADER_SUPPORT будет присутствовать во всех шейдерах (mc >= 1.21.2 и версия >= 1.3.8). Эти определения можно использовать следующим образом:

#ifdef RENDER_PASS_SOLID
    // special shading for solid stuff
#endif

Униформа GameTime

Начиная с версии 1.4.0 поддержки шейдеров Sodium Core, форма u_GameTime будет присутствовать в block_layer_opaque.fsh. и block_layer_opaque.vsh. Его можно использовать так же, как и стандартную униформу GameTime. Добавьте его в свои шейдеры, используя:

uniform float u_GameTime;

Униформа SunAngle

Начиная с версии 1.5.0 поддержки шейдеров Sodium Core, форма u_SunAngle будет присутствовать в block_layer_opaque.fsh. и block_layer_opaque.vsh. Он возвращает угол солнца из атрибутов окружающей среды в радианах. Добавьте его в свои шейдеры, используя:

uniform float u_SunAngle;

Как указать, какие версии натрия поддерживаются

Разработчики натрия изменят свои внутренние шейдеры и код, связанный с шейдерами, без предварительного уведомления. Вот почему это Важно указать, с какими версиями натрия и Minecraft совместим ваш пакет. Это можно сделать в специальном versions.json файл. Он должен находиться в вашем пакете ресурсов в новом каталоге assets/sodiumcoreshadersupport с имя файла versions.json внутри. Содержимое файла может выглядеть так:

{
  "supported-versions": {
    "1.21": [ "0.5.11+mc1.21" ],
    "1.21.1": [ "0.5.11+mc1.21" ]
  }
}

В приведенном выше примере в пакете ресурсов указано, что он совместим с натрием 0.5.11 в Minecraft 1.21 и 1.21.1. Краткое описание приведено ниже:
. Точнее, versions.json должен содержать объект вопроса с ключом supported-versions. Значение supported-versions должно быть картой, которая сопоставляет различные версии Minecraft с массивом разрешенных версий натрия. Мод SodiumCoreShaderSupport проверит, содержится ли установленная версия натрия в массиве установленной версии Minecraft.

  • Если версия Minecraft и/или натрия находится за пределами supported-versions, пакет можно активировать с помощью предупреждающего сообщения.

  • Если у пользователя не установлен натрий, пакет можно активировать.

  • Если файлversion.json отсутствует, пакет можно активировать с помощью предупреждающего сообщения.

  • Если файлversion.json имеет неверный формат, пакет можно активировать с помощью предупреждающего сообщения.

Импорт

Шейдеры натрия должны находиться в каталоге assets/sodium/shaders. Но вы можете #import файлов из assets/minecraft/shaders с помощью директивы #import. Следующий код будет включать файл assets/minecraft/shaders/include/test.glsl:

#import <minecraft:include/test.glsl>

С помощью этого трюка вы можете создавать собственные файлы glsl, которые вы можете #import в своих шейдерах (как в основных, так и в натриевых шейдерах). Эти файлы должны содержать «логику» вашего основного шейдера. Пример шейдерпака, который работает с этим трюком как с ванилью, так и с натрием, можно найти здесь.

Отключить отбраковку

Начиная с версии 1.5.0, усеченную пирамиду натрия и отсечение обратной грани можно отключить с помощью versions.json. Это полезно для любого основного шейдера, которому требуется внеэкранная геометрия или который стремится преобразовать вид в block.vsh, чтобы показать геометрию, которая обычно не отображается на экране (например, тени, альтернативные точки зрения игрока и т. д.).

{
  "supported-versions": { "1.21.11": ["0.8.7+mc1.21.11"] },
  "disable-frustum-culling": true,
  "disable-backface-culling": true
}

Кредиты

Спасибо MR-CHOO за добавление SunAngle Uniform и опции чтобы отключить отсечение усеченной пирамиды и обратной грани!

Версии (60)

ВерсияMinecraftЗагрузчикиФайл
1.5.0-sod0.9.0-b.1-fab26.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
1.5.0-sod0.8.12-fab1.21.11 1.21.11 fabric скачать
1.5.0-sod0.8.12-fab26.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
1.5.0-sod0.8.12-b.2-fab1.21.11 1.21.11 fabric скачать
1.5.0-sod0.8.11-fab1.21.11 1.21.11 fabric скачать
1.5.0-sod0.8.11-fab26.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
1.5.0-sod0.8.10-fab26.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
1.5.0-sod0.8.7-fab1.21.11 1.21.11 fabric скачать
1.4.6-sod0.8.9-fab26.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
1.4.6-sod0.8.9-fab26.1.1 26.1, 26.1.1 fabric скачать
1.4.6-sod0.8.7-fab26.1 26.1 fabric скачать
1.4.6-sod0.8.7-fab1.21.11 1.21.11 fabric скачать
1.4.6-sodium0.8.6-fabric 1.21.11 fabric скачать
1.4.6-sodium0.8.4-fabric 1.21.11 fabric скачать
1.4.6-sodium0.8.3-fabric 1.21.11 fabric скачать
1.4.6-sodium0.8.2-fabric 1.21.11 fabric скачать
1.4.5-sodium0.8.1-fabric 1.21.11 fabric скачать
1.4.4-sodium0.8.0-fabric 1.21.11 fabric скачать
1.4.3-sodium0.7.3-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.4.3-sodium0.7.3-neoforge 1.21.8 neoforge скачать
1.4.3-sodium0.7.3-fabric 1.21.10 fabric скачать
1.4.2-sodium0.7.2-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.4.2-sodium0.7.2-neoforge 1.21.8 neoforge скачать
1.4.2-sodium0.7.2-fabric 1.21.10 fabric скачать
1.4.1-sodium0.7.0-fabric 1.21.10 fabric скачать
1.4.0-sodium0.6.13-fabric 1.21.4 fabric скачать
1.4.0-sodium0.6.13-neoforge 1.21.4 neoforge скачать
1.4.0-sodium0.7.0-fabric 1.21.9 fabric скачать
1.4.0-sodium0.7.0-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.4.0-sodium0.7.0-neoforge 1.21.8 neoforge скачать
1.3.9-sodium0.7.0-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.3.9-sodium0.7.0-neoforge 1.21.8 neoforge скачать
1.3.9-sodium0.7.0-fabric 1.21.9 fabric скачать
1.3.8-sodium0.6.13-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.3.8-sodium0.6.13-fabric 1.21.5 fabric скачать
1.3.8-sodium0.6.13-neoforge 1.21.5 neoforge скачать
1.3.8-sodium0.6.13-fabric 1.21.4 fabric скачать
1.3.8-sodium0.6.13-neoforge 1.21.4 neoforge скачать
1.3.8-sodium0.6.13-fabric 1.21.2, 1.21.3 fabric скачать
1.3.8-sodium0.6.13-neoforge 1.21.3 neoforge скачать
1.3.7-sodium0.6.13-fabric 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.3.6-sodium0.6.13-fabric 1.21.6, 1.21.7 fabric скачать
1.3.6-sodium0.6.13-neoforge 1.21.7 neoforge скачать
1.3.5-sodium0.6.13-fabric 1.21.6 fabric скачать
1.3.5-sodium0.6.13-neoforge 1.21.6 neoforge скачать
1.3.4-sodium0.6.13-fabric 1.21.5 fabric скачать
1.3.4-sodium0.6.13-neoforge 1.21.5 neoforge скачать
1.3.4-sodium0.6.13-fabric 1.21.4 fabric скачать
1.3.4-sodium0.6.13-neoforge 1.21.4 neoforge скачать
1.3.4-sodium0.6.13-fabric 1.21.2, 1.21.3 fabric скачать
1.3.4-sodium0.6.13-neoforge 1.21.3 neoforge скачать
1.3.4-sodium0.6.13-fabric 1.21.1 fabric скачать
1.3.4-sodium0.6.13-neoforge 1.21.1 neoforge скачать
1.3.3-sodium0.6.12-fabric 1.21.5 fabric скачать
1.3.3-sodium0.6.12-neoforge 1.21.5 neoforge скачать
1.3.2-sodium0.6.11-neoforge 1.21.5 neoforge скачать
1.3.2-sodium0.6.11-fabric 1.21.5 fabric скачать
1.3.1-sodium0.6.9-fabric 1.21.1 fabric скачать
1.3.1-sodium0.6.9-neoforge 1.21.1 neoforge скачать
1.3.1-sodium0.6.9-fabric 1.21.2, 1.21.3 fabric скачать

Страница на Modrinth →