Post‐Processing Shaders - AlignedCookie88/FireClient GitHub Wiki
This page walks you through applying post-processing shaders using FireClient. Post-processing shaders should NOT be used as a gameplay mechanic as there is no way to force vanilla clients into using them.
Both FireClient and Minecraft include some built-in post-processing shaders. Here are all the shaders available for use without a resourcepack:
-
minecraft:blur
- Intended for blurring the background in menus -
minecraft:invert
- The shader displayed when spectating an enderman -
minecraft:spider
- The shader displayed when spectating a spider or cave spider -
minecraft:creeper
- The shader displayed when spectating a creeper -
fireclient:pixelate
- Pixelates the screen, accepts thePixelationStrength
(Default 150) uniform that changes how pixelated the screen is. -
fireclient:hueshift
- Hue-shifts the screen, accepts theHueShiftDegrees
(Default 180) uniform that changes the amount of degrees shifted the screen is. -
fireclient:greyscale
- Converts the screen to greyscale, accepts theBlendAmount
(Default 0.8) uniform that changes the amount the greyscale is blended with the original colour, 0.0 is fully coloured and 1.0 is fully greyscaled. Some funky effects are produced when the range 0.0-1.0 is exceeded.
Two other shaders (minecraft:entity_outline
and minecraft:transparency
) also exist but should not be applied as they are intended for rendering the glowing effect and fabulous graphics.
Open the client functions screen using the HOME
key, and find the Set Post Processor
function. Place the template in your codespace, then place a function block and select the function. In the chest of the function, provide the shader ID as a string.
Open the client functions screen using the HOME
key, and find the Set Post Processor Uniform
function. Place the template in your codespace, then place a function block and select the function. In the chest of the function, provide the uniform name as a string, and the value as a number. Please note that the Set Post Processor
function resets all uniforms.
Open the client functions screen using the HOME
key, and find the Remove Post Processor
function. Place the template in your codespace, then place a function block and select the function.
The post-processing shaders used by FireClient are the same system as used by vanilla Minecraft. You can find information on creating post-processing shaders on the Minecraft Wiki.
There are however a few minor changes:
- The
name
property on a pass in<namespace>/shaders/post/<shader>.json
now supports being prefixed with<namespace>:
to move the target fromminecraft/shaders/program/<shader>.json
to<namespace>/shaders/program/<shader>.json
. - The
fragment
andvertex
properties in<namespace>/shaders/program/<shader>.json
now supports being prefixed with<namespace>:
to move the target fromminecraft/shaders/program/<shader>.<vsh|fsh>
to<namespace>/shaders/program/<shader>.<vsh|fsh>
.