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
nameproperty on a pass in<namespace>/shaders/post/<shader>.jsonnow supports being prefixed with<namespace>:to move the target fromminecraft/shaders/program/<shader>.jsonto<namespace>/shaders/program/<shader>.json. - The
fragmentandvertexproperties in<namespace>/shaders/program/<shader>.jsonnow supports being prefixed with<namespace>:to move the target fromminecraft/shaders/program/<shader>.<vsh|fsh>to<namespace>/shaders/program/<shader>.<vsh|fsh>.