# How to handle custom post processes with float type passPostProcess?

**URL:** <https://forum.babylonjs.com/t/how-to-handle-custom-post-processes-with-float-type-passpostprocess/49279>\
**Category:** Questions\
**Created:** [April 2, 2024, 4:36pm UTC](https://forum.babylonjs.com/t/how-to-handle-custom-post-processes-with-float-type-passpostprocess/49279 "2024-04-02T16:36:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Olgotha](https://avatars.discourse-cdn.com/v4/letter/o/848f3c/32.png) [@Olgotha](https://forum.babylonjs.com/u/Olgotha)\
**Post date:** [April 2, 2024, 4:36pm UTC](https://forum.babylonjs.com/t/how-to-handle-custom-post-processes-with-float-type-passpostprocess/49279/1 "2024-04-02T16:36:46Z")

</div>

Hi everyone,

I’m currently working on a custom post-process pipeline that necessitates the input texture to be in float format (to accommodate values exceeding one).

I attempted to set the `passPostProcess` texture type to float, but it doesn’t seem to be effective; my incoming texture remains clamped to 1.

Please find below a playground that reproduces what I’m trying to achieve:

> **[Babylon.js Playground](https://playground.babylonjs.com/#7YPLUW%231)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL 3D scenes

What could I be doing wrong?

---

<div class="post-metadata">

**Author:** ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)\
**Post date:** [April 2, 2024, 7:48pm UTC](https://forum.babylonjs.com/t/how-to-handle-custom-post-processes-with-float-type-passpostprocess/49279/2 "2024-04-02T19:48:12Z")

</div>

Welcome aboard!

The texture of a post-process is used as the output texture for the previous post-process of the chain!

So, in your PG:

- the texture (T0) from `postProcess0` is used to render the scene
- the shader of `postProcess0` is run with T0 as the input texture and is rendered into the texture (T1) of `postProcess1`.
- the shader of `postProcess1` is run with T1 as the input texture and is rendered into the canvas

So, you want both textures to support float for your PG to work:

> **[Babylon.js Playground](https://playground.babylonjs.com/#7YPLUW%232)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL 3D scenes

---

<div class="post-metadata">

**Author:** ![Olgotha](https://avatars.discourse-cdn.com/v4/letter/o/848f3c/32.png) [@Olgotha](https://forum.babylonjs.com/u/Olgotha)\
**Post date:** [April 3, 2024, 10:30am UTC](https://forum.babylonjs.com/t/how-to-handle-custom-post-processes-with-float-type-passpostprocess/49279/3 "2024-04-03T10:30:53Z")

</div>

Hi Evgeni,

Thank you very much, it works !

I understand my mistake, I thought that T0 was the output of postProcess0 and T1 the output of postProcess1 (in case of a postProcess2, otherwise directly rendered into the canvas).

Thank you again !
