# Adding reflections

**URL:** <https://discourse.threejs.org/t/adding-reflections/44966>\
**Category:** Questions\
**Tags:** reflection\
**Created:** [November 21, 2022, 9:34am UTC](https://discourse.threejs.org/t/adding-reflections/44966 "2022-11-21T09:34:45Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![Mugen87](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mugen87/32/5645_2.png) [@Mugen87](https://discourse.threejs.org/u/Mugen87)\
**Post date:** [November 23, 2022, 12:03pm UTC](https://discourse.threejs.org/t/adding-reflections/44966/11 "2022-11-23T12:03:06Z")

</div>

> [@drcmda](#):
>
> because it creates a single uber shader from all the passes

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.

---

_[View the full topic](https://discourse.threejs.org/t/adding-reflections/44966)._
