Get Pixel color data, in 3D

This probably sounds like a crazy concept

but I’m wondering if anyone has experience, or knows if anyway if this is possible

I’d like to get a RGB value from any XYZ pixel in the scene/application

Basically I’m looking for some hack (I’m a experienced java dev) or method to capture this data from a complex scene, and then render that onto a 3 dimensional surface. Both with video mapping and LED pixels, mapped in 3D space.

If I can figure out a way to make this possible I’d be interested in contribution time back to the project

Yes it is possible. Use a parallel projection camera, then for each slice, move the near plane forward followed by capturing the 2D image data. Then you have a 3D image of the scene

1 Like

wonder if this functionality could be abstracted to a getPixelColor(x, y, z) or something of the like.

I understand what you are describing with the parallel projection camera, but I’m a bit confused on what you mean in moving the forward plane. are you talking about moving the objects in front of the camera and capturing the image data that way, or is something else regarding Planes that I’m not understanding?

The scene is clipped by six planes, two of which are the near and far clipping planes. He’s talking about moving these clipping planes to isolate the portion of your scene that you want to sample… so you’d render a scene clipped at Z for example and then take whatever was in that x,y in the frame buffer as the color.

1 Like

Ok that makes sense. Thanks guys

You are referring to frustum culling on the camera correct? Looks like it’s something like

cam.setFrustum( near, far, left, right, top, bottom ). Or I’d imagine it’s something explicitly on the “scene” I’m overlooking at first glance.

Doing more research and testing… will report back