开发者

Getting normal information from OpenGL render output

开发者 https://www.devze.com 2023-01-03 09:08 出处:网络
I\'ll try to keep this simple. I want a way to access the normal information of the scene, from the Frame Buffer output (or similar). The same way one is able to access the Depth Buffer using glGetTe

I'll try to keep this simple.

I want a way to access the normal information of the scene, from the Frame Buffer output (or similar). The same way one is able to access the Depth Buffer using glGetTexImage and GL_DEPTH_COMPONENT.

I know I could set up a fragment sha开发者_如何学Goder which outputs the normal information in RGB color space, which could in turn be read from the rendered image. I'm wondering however if there is a way to do this within the openGL API.

I'll clarify anything upon request as best as I can, Thank you


You already know the solution: Render the normal as RGB. There's no built-in normal buffer you could use. If you don't want to render your scene twice, use framebuffer objects (FBO) with multiple render targets (MRT). Then you can write both color and normal into separate textures in your fragment shader.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号