A Post-Processing effect created in Unity 6 to render outlines. It uses the sobel filter technique, but allows to customize which layers will have outlines and the size of each global render texture we send to the shaders each frame.

The outline effect inside a test scene.
To create this effect, we inject custom draw calls into the rendering pipeline so we can setup global textures containing mask data, normal data and depth data.



Then those textures gets processed inside our shader to generate our outlines based on how much the normal and depth values varies around our current pixel.


We are also able to control many aspects of the outline rendering, such as intermediary textures sizes and injection point for each render pass.