CanvasGLSL
turning a decorative menu background into a fast, in-context shader workflow.liveclient-side Minecraft mod · GLSL tooling
GLSLFabricMinecraftJava

the problem
custom menu shaders normally require an edit, reload, and test loop outside the game. CanvasGLSL keeps that loop inside Minecraft so a shader can be written, compiled, inspected, and organized without leaving the menu it changes.the approach
- 01replace menu backgrounds across title, single-player, multiplayer, options, and other menu screens with a client-side GLSL renderer
- 02provide an in-game editor with syntax highlighting, manual or automatic compilation, save controls, and a shader file manager
- 03support familiar Shadertoy uniforms—including time, resolution, mouse, frame, date, and texture channels—so existing experiments are easier to adapt
key decisions
edit in the final contextthe editor opens from any menu with a single key, keeping visual feedback next to the code that produced it.
make iteration explicitmanual compile supports controlled testing; auto-compile shortens the loop when exploring.
store ordinary filesshaders live under the Minecraft data directory and can be grouped in folders instead of being trapped in an opaque project format.
the result
- released as a public, CC0-licensed Fabric mod with source available on GitHub
- distributed through Modrinth for supported Minecraft Java Edition releases
- keeps shader authoring, compilation feedback, and the rendered result in one interface