Hey would any Godot rendering geniuses be willing to help me figure out how to get this post-processing shader (link below) working as a Compositor Effect? It's a fairly simple dither effect that uses the depth buffer to apply gradual noise to the colors to give a really interesting jitter to the dithers that I really like. AFAIK this kind of shader is only possible with the janky "plane that always renders and is vertex mapped to the camera at all times" trick, or with Compositor Effects.

In my testing, I've been able to get basic compositor effects working, but this one keeps complaining that my push constant is of the wrong size, and the size changes seemingly randomly from the editor viewport and runtime. Not certain how to resolve that issue. Any help would be appreciated!

Update : I kinda got this working, at least to my standards. I gave up on getting the depth-based fog and noise and used the basic plane trick for that. But for posterization and dithering, those worked just fine for compositor effects. I might need to share this process somehow like as a blog post or something IDK IDK am tired rn


Link:
https://godotshaders.com/shader/psx-style-camera-shader/

Extra Tags for reach, please boost
#GameDev #GodotEngine #Godot #GLSL #Shaders
PSX Style Camera Shader – Distance Fog, Dithering, Color Limiter, Noise - Godot Shaders

Only works on Godot 4.3 and later! For a 4.2...

Godot Shaders
@queenofsquiggles I don't see how it wouldn't work right away
it's all uniforms
@efi thats the thing. its a GLSL wrapper of Vulkan properties. So technically its a "Push Constant" but I have no fucking clue about those. Vulkan is hard

RE: https://transfem.social/notes/ajhscutikpsy1lsg
@queenofsquiggles ohhh, fuckkk...