Shader DevTools
Client-side Fabric mod for working on Minecraft core shaders, post shaders, post effects, and render pipelines without restarting the game or reloading the resource pack.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Shader DevTools
Shader DevTools
Client-side fabric mod for working on Minecraft core shaders, post shaders, post effects, and render pipelines without restarting the game or reloading the resource pack.
https://github.com/seailz/shader-devtools
Features
- Reload shaders, both core and post, on demand without having to fully reload the resource pack - Live editing of shader files in-game with syntax highlighting - When a shader exists in multiple packs (including vanilla), ability to edit each of those individually (except vanilla shaders, which are read-only) and force load them - Ability to quickly visualize what a shader is rendering - Parsing of post effect JSON files, and the ability to edit these too - Parsing and visualization of all render pipelines - Ability to override any value in the `Globals` uniform buffer
Shader Debug Logging
You can add calls like `dbg("time=" + GameTime);` to supported shader programs and the value will be written to `logs/latest.log`.
Notes: - Works on both OpenGL and Vulkan - ASCII string literals are supported - Top-level string concatenation is supported, so `"abc" + someValue` works - Common scalar and vector values are converted to text automatically
Warning: - `dbg(...)` is still expensive in hot shaders, especially fragment shaders - Frequently changing values such as `GameTime` can reduce FPS if logged aggressively