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