Bulletpies · wiki

ShaderWorks

Every shader effect is a slider you drag in game, and the folder is yours to write in

BuiltForge1.21.1
Status
v1.0.0 jar built, store pages written, not published
Mod loader
Forge
Minecraft
1.21.1
Who installs it
You only (friends do not need it)

What it is

Most shader mods hand you somebody else's look and a list of packs to choose between. ShaderWorks hands you the sliders. Bloom, fog, colour, shadows, grain, scanlines and about a dozen more are live controls in a menu you open with the O key, and the world changes as you drag them. It also ships a resource pack that makes water and plants sway, and a folder in your Minecraft directory where any shader file you drop in shows up in the game's own shader list. It runs on your computer only, so you can join a normal server with it on.

You press O expecting a pack list and get a mixing desk. The first five minutes are pure fiddling: bloom up until the torches bleed, depth fog across a valley until the far hills go soft, depth shading on and off in a village corner to watch the shadows arrive. Then you find the four presets and realise you could have started there. Press K and everything drops back to plain Minecraft, which is the best advertisement the mod has for itself. Later you open the shaderworks folder, change one line in a text file, hit Reload Shaders, and the world updates while you are still looking at it, and the mod stops being a preset picker and becomes a workbench.

👥 Playing with friends

Client-side only. Install it in your own game and join any vanilla server

⚠️ Before you install

  • Waving World is a resource pack you have to enable yourself. Installing the mod does not switch it on.
  • No true dynamic shadow maps and no mirror reflections of anything off-screen. That is an architectural limit, not a setting.
  • Forge 52.x, Java 21, Minecraft 1.21.1 only.
  • The jar builds and the promo material is written, but the mod has never been published or playtested by anyone else.

Your first 5 minutes

New to this mod? Do these in order and you will have seen the point of it.

  1. Install Forge 52.x for Minecraft 1.21.1 on Java 21 and drop shaderworks-1.0.0.jar into your mods folder.
  2. Load a world and press O, then click one of the four presets: Vanilla+, Cinematic, Retro, or Performance.
  3. Press K to toggle every effect off and on for an instant before-and-after.
  4. Enable Waving World under Options then Resource Packs to get water and plants that move.
  5. If the frame rate drops, set Quality to Fast and Bloom Scale to Quarter before you switch anything off.
  6. Open .minecraft/shaderworks/, edit the starter shader effect_mine.fsh, and press Reload Shaders in the GUI.

How it works

One universal shader, every effect a slider

There is no pack to pick. A single post-processing shader carries bloom with a brightness threshold, colour grading (brightness, contrast, saturation, temperature), depth fog with its own colour, depth shading as cheap fake ambient occlusion, screen-space sun contact shadows, god rays, screen-space water reflections, a procedural atmospheric sky with a sun disc and dusk tinting, an ACES filmic tonemap, and the stylised set: vignette, film grain, CRT scanlines, chromatic aberration and pixelation. Every one is a live control.

Tip: K toggles the whole thing. It is the fastest way to check whether an effect is actually improving anything.

Presets

Four buttons set every value at once. Vanilla+ is a gentle lift that still reads as Minecraft. Cinematic is bloom, tonemap, fog and vignette for the film-still look. Retro is scanlines, grain and pixelation. Performance drops to Fast quality, quarter-resolution bloom, and switches the screen-space effects off entirely.

Tip: Start from the preset closest to what you want and adjust from there rather than from defaults.

You set the performance budget

The heavy screen-space work (depth shading, sun shadows, god rays) scales with one Quality tier on the World and Performance tab: Fast, Balanced (the default) or Fancy, trading sample counts for frame time at 4, 8 or 12 ambient occlusion taps, 6, 12 or 18 shadow steps, and 8, 16 or 24 ray samples. Bloom Scale separately sets the resolution the glow passes run at, choosing full, half (default), third or quarter, so bloom can get cheaper without being switched off.

Tip: Bloom Scale is the cheapest single win. Quarter-res glow looks nearly identical in motion.

Waving World

A resource pack built into the mod, which you enable yourself under Options then Resource Packs. It overrides Minecraft's own core shaders so water ripples and plants sway. The wave constants sit at the top of each vertex shader inside clearly marked EDIT ME blocks, so the motion is yours to retune.

Tip: Installing the mod does not turn this on. It is a resource pack and you have to enable it.

Your shaders folder

On first launch the mod creates .minecraft/shaderworks/ with a starter shader called effect_mine. Any matching effect_*.json and .fsh pair dropped in there appears in the in-game shader list. Edit the file, hit Reload Shaders in the GUI, and the change is live with no restart. Custom shaders automatically receive the rendered scene, the depth buffer, the pre-blurred bloom texture, the screen size, a time value, the camera planes, and every GUI slider as uniforms.

Tip: The json and the fsh must share a name. effect_universal.fsh is the fully commented reference to copy from.

It works with the renderer, not instead of it

ShaderWorks sits on top of Minecraft's existing rendering pipeline rather than replacing it, which is what keeps it small and compatible with a plain Forge install. The price is real: no true dynamic shadow maps, and reflections are screen-space, so they mirror what is already on screen and fall back to the procedural sky for anything off it. Every value also lives in config/shaderworks-client.toml, so a look can be edited with the game closed.

Tip: Screen-space reflections cannot show what is behind you. Aim the camera across the water, not down at it.

Items & blocks

The Universal Shader

effect_universal, the one shader that carries every listed effect, and the fully-commented reference implementation for writing your own.

Where: Active by default; the source ships in the mod and the readable copy is the thing you are meant to fork.

Waving World

The built-in resource pack that makes water ripple and plants sway by overriding vanilla core shaders.

Where: Options then Resource Packs, and enable it yourself.

effect_mine

The starter shader dropped into your own folder on first launch, ready to be edited into something else.

Where: Created automatically at .minecraft/shaderworks/ the first time you run the mod.

effect_greyscale

A minimal example effect. It is the smallest complete shader in the mod, for when the universal one is too much to read.

Where: Ships with the mod and appears in the in-game shader list.

Lore

Flavour, not rules. None of this changes how the mod behaves.

The knobs are the point

The pitch the author wrote for the trailer says it plainly: every other shader mod hands you someone else's opinion about how Minecraft should look, and you either like the pack or you go find another pack. Nobody gives you the knobs. Everything in ShaderWorks (the slider GUI, the presets, the hot-reloading folder, the EDIT ME blocks in the wave shaders) is the same decision made over and over.

Jokes & trivia

Bits you might miss

  • The trailer's opening line: "Minecraft is already made of pixels. So I added a slider that gives it more pixels. It's called Pixelate. It goes up to sixteen. It is the least useful thing in this mod."
  • The trailer's closing line, after explaining that you can join a vanilla server with it: "Turn the Pixelate slider off first."
  • One of the four presets is called Performance and its entire job is to switch off most of the mod.
  • The Retro preset spends a modern graphics card on scanlines, film grain and chunky pixels so your game can look like a 1985 television.
  • Leaves do not wave. The sway shader tells plants from blocks by their diagonal cross-model normals, and a leaf block is just six flat faces, indistinguishable from the side of a grass block. There is a one-line switch called WAVE_BLOCK_FACES if you disagree with it.
  • The mod declares itself as ignoring all version checks so vanilla servers will let it in, which is the closest a shader mod gets to a fake ID.

From the workshop

  • Modrinth and CurseForge pages, a gallery shot list, and a 60-to-90-second video script are all written and sitting in the repo's promo folder for a mod that was never published.
  • The video script's shot notes include the direction "hold one beat too long" over a screen full of maximum pixelation.
  • Every slider value also lives in config/shaderworks-client.toml, so an entire look can be edited with the game shut.
  • The bloom threshold defaults to 0.65 and the tonemap blend to 0.45. The shipped defaults are deliberately halfway, not maxed.
  • Pixelate is the only effect whose off position is 1 rather than 0, because it is a divisor rather than a strength.

FAQ

Do I need to install this on a server?

No. ShaderWorks is client-side only. Install it in your own game and join any vanilla or modded server.

Is this like Iris or OptiFine shaderpacks?

Different approach. It works with Minecraft's own rendering pipeline instead of replacing it, which keeps it small and compatible, but means no true dynamic shadow maps and screen-space rather than real reflections. Depth shading, depth fog and bloom get you a surprising fraction of the shader look for a fraction of the cost.

Can I use it without knowing any GLSL?

Easily. The presets and sliders are the whole product for most people. The starter shader and the commented universal shader are there for when you get curious.

Why don't my leaves wave?

The sway shader identifies plants by their cross-model normals, and leaves are plain block faces it cannot tell apart from the side of a grass block. Flipping WAVE_BLOCK_FACES in the foliage vertex shader turns them on; it is a one-line change and it is documented.

My frame rate dropped. What do I turn down first?

Set Bloom Scale to Quarter and Quality to Fast, in that order. If that is not enough, the Performance preset disables the screen-space effects entirely.

Get it

Status: The jar compiles and the author has tested it himself, but it has not had a real playtest yet.

  1. Install Forge for Minecraft 1.21.1. The install guide walks through this assuming no prior knowledge.
  2. Drop the mod's .jar file into your mods folder.
  3. You only (friends do not need it).
  4. Launch the game with that loader's profile selected.

📦 Where is the file?

This wiki documents the mods; it does not host them. Builds live in the project's own repository under mc-shaders/build/libs/.

ShaderWorks by Bulletpies. MIT.

↑ Back to top · ← All mods