Post-processing effects 101?

Hey, it’s been a while since I last started a thread.

I recently learnt how to render to FBOs and I wanna put that to good use. Is there a collection of tutorials on how to implement post-processing effects? Any help is appreciated. Thanks in advance!

Scope out all the *.m files here for various image effect shaders. This code is for iOS / shaders will run anywhere though.

You can also just google search “post processing shaders” and find various bits of code lying around.

Of course coming up with your own is good fun too! Just slap on a frag shader and render between FBOs.

Thanks for the link :smiley:

Postprocessing is just any effect that processes the entire rendered screen. The most simple effects are stuff like color correction, tone mapping, blurring, sharpening, etc. These are fairly simple to implement using a shader with a couple of texture samples and a tiny bit of math. You also have a couple of anti-aliasing postprocessing shaders out there, with FXAA being the simplest to get going. Then there are more advanced postprocessing algorithms, like screen-space ambient occlusion, motion blur, depth of field, bilateral blurs, custom multisample resolves, temporal supersampling, etc that are much harder to get right and may require multiple fullscreen passes and tricks.

If you have any specific questions I’m sure I can answer them.

Isn’t FXAA that anti-aliasing technique that Nvidea developed? Which is the fastest and most efficient anti-aliasing technique?

The fastest and lowest quality of them all, yes.