Minecraft wiki entry for Shaders, associated text: The root tag
 targets: A list of render targets. They can be buffer provided by the game, or new buffer with any name.
: The name of a render target. The size defaults to screen resolution. Post-processing shader transparency must contain render targets named translucent、itemEntity、particles、weather and clouds. Post-processing shader entity_outline must contain render target named final.
: A render target to add.
 name: The name of the render target to add.
 width: The width of the render target.
 height: The height of the render target.
 passes: A list of passes.
: A render pass.
 name: The name of a program shader to apply on the input and post into the output. Use "blit" to copy the data from intarget to outtarget.
 intarget: The name of a render target to use as an input. Use minecraft:main to specify the main screen.
 outtarget: The name of a render target to output to. It should not be the same as intarget. Use minecraft:main to specify the main screen.
 auxtargets: A list of auxiliary targets.
An auxiliary target.
 name: The auxiliary target's name that is passed into the "Program" JSON.
 id: The auxiliary target's id. Either points into the name of a buffer that is defined in targets or into the location of a texture under assets/<namespace>/textures/effect (use a resource location to reference it). Append :depth after the name of the buffer to access its depth buffer. For example, to access the depth buffer of minecraft:main, use minecraft:main:depth.
 width: Required if id references a texture. Describes the width of the texture in pixels.
 height: Required if id references a texture. Describes the height of the texture in pixels.
 bilinear: Required if id references a texture. Determines whether the scaling algorithm used for the image is bilinear or nearest neighbour.
 uniforms: A list of overrides that change the values in the uniforms list in the "Program" JSON.
: A uniform.
 name: The name of the field that should be changed.
 values: The values that the field should be changed to.