# How readRenderTargetPixels work?

**URL:** <https://discourse.threejs.org/t/how-readrendertargetpixels-work/54867>\
**Category:** Questions\
**Tags:** render-target, webgl-renderer\
**Created:** [August 11, 2023, 2:06pm UTC](https://discourse.threejs.org/t/how-readrendertargetpixels-work/54867 "2023-08-11T14:06:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![benzsuankularb](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/benzsuankularb/32/22821_2.png) [@benzsuankularb](https://discourse.threejs.org/u/benzsuankularb)\
**Post date:** [August 11, 2023, 2:06pm UTC](https://discourse.threejs.org/t/how-readrendertargetpixels-work/54867/1 "2023-08-11T14:06:01Z")

</div>

> [@Measure light intensity](https://discourse.threejs.org/t/measure-light-intensity/37689/7):
>
> Hi there, I couldn’t solve this problem. At the end, what I did was using this code to capture the color of any pixel in the canvas (by collecting the information of each pixel on the screen using a “render target”). var rtTexture = new THREE.WebGLRenderTarget( sizes.width, sizes.height, {minFilter: THREE.LinearFilter, magFilter: THREE.NearestFilter, format: THREE.RGBAFormat, type: THREE.FloatType}) function capture() { renderer.clear() renderer.setRenderTarget( rtTexture …

Refer to this thread’s answer.

I can extract the pixel data using `readRenderTargetPixels` with the default renderer I’ve set up.

Now I tried to create a new WebGLRenderer with the same configuration as the previous one, Then `readRenderTargetPixels` like so.

```javascript
const renderer = new WebGLRenderer(options);
const read = new Uint8Array(4);
renderer.readRenderTargetPixels(
    renderTarget, x, y, 1, 1, read
);

```

And it doesn’t work, No error but I’ve got no results.  
The render target has already been rendered using the original renderer.

What criteria make the `readRenderTargetPixels` work in my original renderer?

---

<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:** [August 11, 2023, 2:57pm UTC](https://discourse.threejs.org/t/how-readrendertargetpixels-work/54867/2 "2023-08-11T14:57:14Z")

</div>

You can’t access a render target with a different renderer since the internal resource of the render target are not shared. They are internally managed in the first renderer.

---

<div class="post-metadata">

**Author:** ![benzsuankularb](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/benzsuankularb/32/22821_2.png) [@benzsuankularb](https://discourse.threejs.org/u/benzsuankularb)\
**Post date:** [August 11, 2023, 3:36pm UTC](https://discourse.threejs.org/t/how-readrendertargetpixels-work/54867/3 "2023-08-11T15:36:02Z")

</div>

Super helpful answer as always.  
Thanks a ton.
