Yes, this is an advantage but only if you have more than one effect which is not always the case. Many apps just apply a single effect like bloom or pixelation. An Uber shader does not provide benefits in these use cases.
That said, there is the intention to enhance EffectComposer
in the same way to provide this optimization. We need it for WebXR anyway. When we drop WebGL 1 support next year (at least it is planned for 2023), the first step is to make more use of MRT in context of post processing passes. In the next step, we could think about a deeper integration of post-processing in the renderers (especially WebGPURenderer
) with Uber shader generation.