Hi everybody,
AFAIK in the URP and its 2DRenderer the post-processing FXs are applied to all the geometry rendered by one camera. However it’s very common that one needs to apply the Bloom FX to only a subset of them, without using different cameras (to avoid problems with sorting). Possible ways to select which pixels are added to the Bloom FX texture:
- Emissive color: Only the emissive output would be written to a temporary texture. Every non-emissive pixel that has lower Z would erase existing pixels in such texture.
- Layer: All the geometry in a specific layer would be rendered to the temporary texture, using a Threshold.
- Sorting layer: The same as previous but using 2D sorting layers.
- Type of shader: Like “Sprite-Emissive-Lit”.
- Checkbox in material.
- Special Renderer component: Like “SpriteRendererEmissive”.
If you don’t plan to implement anything like this in the future, at least I would like to know about alternatives. I think it’s impossible to do this in the URP / 2DRenderer at the moment.