Моды/Luminance
Luminance

Luminance

a library mod that helps other mods with shaders

3.6K
10

[1.21.4] Luminance 1.1.0-alpha.1

alpha27 августа 2025 г.
  • Updated config screens.
    • Config and Information screens have been merged into a list screen.
    • Credits/Attribution screen is now translatable.

[Quilt 1.21.4] Luminance 1.0.1

release19 мая 2025 г.
  • Perspective uniform now defaults to 0.0F. (legotaylor)
  • Added luminance:post/color_overlay shader. (legotaylor)
  • Updated silhouette shaders to use the color overlay shader. (legotaylor)
  • Added new uniform luminance_renderType, that returns the most appropriate rendertype for where the game currently is in its render loop (nettakrim)
  • Added uniforms for arbitrary effect duration and amplitude (presence can be checked by seeing if duration is anything other than 0 [-1 is infinite]), defaults to minecraft:speed. (nettakrim)

[Fabric 1.21.4] Luminance 1.0.1

release19 мая 2025 г.
  • Perspective uniform now defaults to 0.0F. (legotaylor)
  • Added luminance:post/color_overlay shader. (legotaylor)
  • Updated silhouette shaders to use the color overlay shader. (legotaylor)
  • Added new uniform luminance_renderType, that returns the most appropriate rendertype for where the game currently is in its render loop (nettakrim)
  • Added uniforms for arbitrary effect duration and amplitude (presence can be checked by seeing if duration is anything other than 0 [-1 is infinite]), defaults to minecraft:speed. (nettakrim)

[Quilt 1.21.4] Luminance 1.0

release1 мая 2025 г.

So... what's Luminance? Luminance is a library mod that helps with shader rendering. It helps mod developers setup shader rendering so they can focus on the shaders themselves! Luminance also adds Dynamic Uniforms, which allow developers to pass information to their shaders - we also include some default ones!

Are you a user that wants to see Luminance in action?
Try out Souper Secret Settings by Nettakrim, or Perspective by dannytaylor!

Luminance Documentation hasn't been written yet (it's on the top of our todo list!), however both Souper Secret Settings and Perspective are both open source so you can always see how we use it!
You can also check out our Resourcepack Guide which explains how to create a luminance shader resource pack.

Luminance Shader Resource Reloader Format

To make things simple, we've added a new resource to resource packs, which is located at assets/<namespace>/luminance/<id>.json.

{  
  "post_effect": "namespace:id", // defaults to `modid:shaderid` of the json file if not specified, this specifies the location of the post effect json.  
  "enabled": true, // defaults to true, specifies whether the shader can be used.  
  "disable_ui_rendertype": true, // defaults to false, specifies whether the shader can be rendered using the `UI` render type.  
  "registries": [ // If not provided, the shader will be registered to "luminance:main", if you do provide this, it will only be registered to the specified registries.  
    "luminance:main" // This is the default registry, most mods using Luminance should be using this.  
  ]
  "custom": {  
    "namespace": {} // defaults to new JsonObject(), can be obtained in the `ShaderRegistryEntry`.  
  }  
}  

Dynamic Uniforms

We include some default dynamic uniforms that any mod using Luminance can use in their shaders!

idtypesub-uniformsconfig
luminance_panoramaAlphafloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_hudHiddenfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isInGuifloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_viewDistancefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_fovfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_fpsfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_graphicsModefloat(0.0-2.0)
luminance_eyevec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_eye_fractvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_posvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_pos_fractvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_camvec3 (sub-uniforms are float)_x _y _z
luminance_cam_fractvec3 (sub-uniforms are float)_x _y _z
luminance_pitchfloat(-90.0-90.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_yawfloat(-180.0-180.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_clippingfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_velocityfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentHealthfloat(0.0-luminance_maxHealth)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxHealthfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentAbsorptionfloat(0.0-luminance_maxAbsorption)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxAbsorptionfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentHurtTimefloat(0.0-luminance_maxHurtTime)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxHurtTimefloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentAirfloat(0.0-luminance_maxAir)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxAirfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isAlivefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isDeadfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSprintingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSwimmingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSneakingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isCrawlingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isInvisiblefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isWitheredfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isPoisonedfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isBurningfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isOnGroundfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isOnLadderfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isRidingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_hasPassengersfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_biomeTemperaturefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_alphafloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_perspectivefloat(0.0-3.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_selectedSlotfloat(0.0-8.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_scorefloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_skyAnglefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_sunAnglefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isDayfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_starBrightnessfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_timefloat(0.0-1.0)period
luminance_randomfloat(0.0-1.0)

Custom Mod Menu Icon

Luminance adds a way to change the icon used for your mod. Want a custom icon that only shows on October 31st? You can do that: CompatHelper.addOverrideModMenuIcon(new Couple<>("modid", "halloween"), () -> "assets/modid/icons/halloween.png", () -> LocalDate.now().getMonth() == Month.October && LocalDate.now().getDayOfMonth() == 31);
You can also add a Luminance badge to your mod using:
addLuminanceModMenuBadge("modid");

Iris Shaders Compatibility

You can render both Luminance and Iris shaders at the same time! You can also check if Iris has shaders enabled by using CompatHelper.isIrisShadersEnabled()

Licenced under LGPL-3.0-or-later

Developer's note
We're working on a way for one jar for both quilt, and fabric (and eventually neoforge - that's going to take some time though!). If you have any thoughts, please share them here!

[Fabric 1.21.4] Luminance 1.0

release1 мая 2025 г.

So... what's Luminance? Luminance is a library mod that helps with shader rendering. It helps mod developers setup shader rendering so they can focus on the shaders themselves! Luminance also adds Dynamic Uniforms, which allow developers to pass information to their shaders - we also include some default ones!

Are you a user that wants to see Luminance in action?
Try out Souper Secret Settings by Nettakrim, or Perspective by dannytaylor!

Luminance Documentation hasn't been written yet (it's on the top of our todo list!), however both Souper Secret Settings and Perspective are both open source so you can always see how we use it!
You can also check out our Resourcepack Guide which explains how to create a luminance shader resource pack.

Luminance Shader Resource Reloader Format

To make things simple, we've added a new resource to resource packs, which is located at assets/<namespace>/luminance/<id>.json.

{  
  "post_effect": "namespace:id", // defaults to `modid:shaderid` of the json file if not specified, this specifies the location of the post effect json.  
  "enabled": true, // defaults to true, specifies whether the shader can be used.  
  "disable_ui_rendertype": true, // defaults to false, specifies whether the shader can be rendered using the `UI` render type.  
  "registries": [ // If not provided, the shader will be registered to "luminance:main", if you do provide this, it will only be registered to the specified registries.  
    "luminance:main" // This is the default registry, most mods using Luminance should be using this.  
  ]
  "custom": {  
    "namespace": {} // defaults to new JsonObject(), can be obtained in the `ShaderRegistryEntry`.  
  }  
}  

Dynamic Uniforms

We include some default dynamic uniforms that any mod using Luminance can use in their shaders!

idtypesub-uniformsconfig
luminance_panoramaAlphafloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_hudHiddenfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isInGuifloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_viewDistancefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_fovfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_fpsfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_graphicsModefloat(0.0-2.0)
luminance_eyevec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_eye_fractvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_posvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_pos_fractvec3_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_camvec3 (sub-uniforms are float)_x _y _z
luminance_cam_fractvec3 (sub-uniforms are float)_x _y _z
luminance_pitchfloat(-90.0-90.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_yawfloat(-180.0-180.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_clippingfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_velocityfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentHealthfloat(0.0-luminance_maxHealth)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxHealthfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentAbsorptionfloat(0.0-luminance_maxAbsorption)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxAbsorptionfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentHurtTimefloat(0.0-luminance_maxHurtTime)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxHurtTimefloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_currentAirfloat(0.0-luminance_maxAir)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_maxAirfloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isAlivefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isDeadfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSprintingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSwimmingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isSneakingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isCrawlingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isInvisiblefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isWitheredfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isPoisonedfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isBurningfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isOnGroundfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isOnLadderfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isRidingfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_hasPassengersfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_biomeTemperaturefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_alphafloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_perspectivefloat(0.0-3.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_selectedSlotfloat(0.0-8.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_scorefloat(0.0+)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_skyAnglefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_sunAnglefloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_isDayfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_starBrightnessfloat(0.0-1.0)_delta, _prev, _smooth, _smooth_delta, _smooth_prev
luminance_timefloat(0.0-1.0)period
luminance_randomfloat(0.0-1.0)

Custom Mod Menu Icon

Luminance adds a way to change the icon used for your mod. Want a custom icon that only shows on October 31st? You can do that: CompatHelper.addOverrideModMenuIcon(new Couple<>("modid", "halloween"), () -> "assets/modid/icons/halloween.png", () -> LocalDate.now().getMonth() == Month.October && LocalDate.now().getDayOfMonth() == 31);
You can also add a Luminance badge to your mod using:
addLuminanceModMenuBadge("modid");

Iris Shaders Compatibility

You can render both Luminance and Iris shaders at the same time! You can also check if Iris has shaders enabled by using CompatHelper.isIrisShadersEnabled()

Licenced under LGPL-3.0-or-later

Developer's note
We're working on a way for one jar for both quilt, and fabric (and eventually neoforge - that's going to take some time though!). If you have any thoughts, please share them here!

Совместимость

Minecraft: Java Edition

1.20.5–1.21.4

Создатели

Nettakrim

Nettakrim

Разработчик

dannytaylor

dannytaylor

Владелец

Детали

Лицензия:LGPL-3.0-or-later
Опубликован:1 год назад
Обновлён:3 месяца назад