.. _doc_custom_postprocessing: Custom post-processing ====================== Introduction ------------ Godot provides many post-processing effects out of the box, including Bloom, DOF, and SSAO. Sometimes you want to write your own custom effect. Here's how you can do so. Post-processing effects are shaders applied to a frame after Godot rendered it. You first want to render your scene into a `Viewport`, then render the `Viewport` inside a `ViewportTexture` and show it on the screen. The easiest way to implement a custom post-processing shader is to use Godot's built-in ability to read from the screen texture. If you're not familiar with this, you should read the `Screen Reading Shaders Tutorial