# How can I retrieve data from shaders without OES\_texture\_float?

**URL:** <https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941>\
**Category:** Questions\
**Tags:** shaders\
**Created:** [July 9, 2020, 3:12pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941 "2020-07-09T15:12:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ja212](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@ja212](https://discourse.threejs.org/u/ja212)\
**Post date:** [July 9, 2020, 3:12pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/1 "2020-07-09T15:12:52Z")

</div>

I already checked the GPGPU examples provided by three.js (water, birds, …) but the problem is my browser does not support OES\_texture\_float. Is there another way to read any data from the shaders (whether GPGPU, FBO’s, …) without using the extension “OES\_texture\_float” ?

---

<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:** [July 9, 2020, 3:38pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/2 "2020-07-09T15:38:17Z")

</div>

`OES_texture_float` only provides the ability for floating point textures. It has nothing to do with reading data. I suggest you render into a render target and then use [WebGLRenderer.readRenderTargetPixels()](https://threejs.org/docs/#api/en/renderers/WebGLRenderer.readRenderTargetPixels).

---

<div class="post-metadata">

**Author:** ![ja212](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@ja212](https://discourse.threejs.org/u/ja212)\
**Post date:** [July 9, 2020, 3:50pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/3 "2020-07-09T15:50:51Z")

</div>

Any example code you can please direct me to ?

---

<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:** [July 9, 2020, 3:58pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/4 "2020-07-09T15:58:59Z")

</div>

For instance the following demo uses the method: [https://threejs.org/examples/webgl\_gpgpu\_water](https://threejs.org/examples/webgl_gpgpu_water)

Right here:

> <https://github.com/mrdoob/three.js/blob/8702272905df5a979e2e99ecf73fc16c8f5bdc15/examples/webgl_gpgpu_water.html#L599>

---

<div class="post-metadata">

**Author:** ![ja212](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@ja212](https://discourse.threejs.org/u/ja212)\
**Post date:** [July 9, 2020, 4:04pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/5 "2020-07-09T16:04:46Z")

</div>

_My error is:_  
**No OES\_texture\_float support for float textures. \*\*\*.js:221:21**  
\*\*\*_initComputeRenderer **.js?:221**._

_This error stems from:_  
**var error = this.gpuCompute.init();**  
**if (error !== null) {**  
\*\* console.error(error);\*\*  
**}**

So my concern is the same with the code of the gpgpu with water. We are using the **GPUComputationRenderer** and that is why I am trying to use the **OES\_texture\_float** extension.

---

<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:** [July 9, 2020, 4:29pm UTC](https://discourse.threejs.org/t/how-can-i-retrieve-data-from-shaders-without-oes-texture-float/16941/6 "2020-07-09T16:29:02Z")

</div>

Well, if floating point textures are not supported, there is not much what you can do about it. It’s a hardware issue.
