I’ve often wanted to implement my own bloom shader, but never got around to it until now.
This bloom shader allows objects in the scene with emissive value to write to the Alpha channel of the main render buffer which get’s copied (Blit) to a render texture, multiplied by the emissive colour, enabling multiple bloom colours to be written to this render texture together. As a second pass the render texture is blurred and added on top of the initial render buffer to compose the final image.
You can find the shader & demo scene here
Note: The actual glaussian blur shader code was copied from Lindsey Reid’s github, which you can find Here , I also recommend the tutorial Lindsey wrote, although a different implementation, still an interesting read