0
A
回答
0
您可以将质地:
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24,
width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_,
textureId, level);
到FBO,然后用这个纹理在屏幕上画一个全屏幕的四核。
渲染到纹理,然后使用全屏四: http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/
使用本GL_DEPTH_COMPONENT24
你将有硬件使用最大深度精度。 在片段着色器(用于全屏幕四边形)中,您可以从这种纹理读取并将其用作灰度图像。
这里是另一个相关的问题:How to visualize a depth texture in OpenGL?
在另一方面,如果你想拥有32位缓冲...也许这是更容易使用GL_R32F纹理和片段着色器计算深度值。这样你就可以更好地控制这个过程。
相关问题
- 1. Vulkan深度缓冲区位置重构
- 2. OpenTK中的32位深度缓冲区GLControl
- 3. opengl深度测试如何使用24位深度缓冲区?
- 4. 将深度渲染缓冲区复制到深度缓冲区
- 5. FBO深度和模板渲染缓冲区附件
- 6. 帧缓冲对象(FBO)和渲染和深度缓冲关系
- 7. 无法设置深度缓冲区?
- 8. OpenGL ES深度缓冲区
- 9. 传递深度缓冲区
- 10. OpenGL深度缓冲区
- 11. 对数深度缓冲区
- 12. 使深度缓冲区只读
- 13. 如何渲染具有位移顶点的对象的深度缓冲区?
- 14. 如何禁用深度缓冲区?
- 15. OpenGL深度缓冲区不适用
- 16. DirectX 11.1禁用深度缓冲区
- 17. 如何在OGRE中设置深度缓冲区(z缓冲区)的位宽/精度?
- 18. OpenGL:渲染缓冲区,深度缓冲区
- 19. 用FBO绘制到渲染缓冲区
- 20. 深度缓冲区的绝对距离
- 21. Android上的OpenGL深度缓冲区
- 22. OpenGL中的深度缓冲区
- 23. 2D中的深度缓冲区
- 24. OpenGLES 2.0错误的深度缓冲位
- 25. 将深度缓冲区转换为GLSL的深度纹理
- 26. 在OpenGL中查看深度缓冲区
- 27. OpenGL颜色深度缓冲区
- 28. Opengl深度缓冲区和剔除
- 29. 可视化深度缓冲区
- 30. 是深度缓冲区强制性
嗨芬,感谢您的回复。你能详细解释一下:“你可以附加一个纹理:...给一个FBO,然后用这个纹理在屏幕上绘制一个全屏的四边形。”非常感谢。 – user1128265