Vio*_*nev 3 opengl rendering opengl-es-2.0
我的opengl场景有两个遍 - 一个渲染整个场景(颜色和深度),另一个渲染只有一些场景对象,需要第一遍的深度缓冲.
是否可以使用两个帧缓冲对象FBO1和FBO2,并将相同深度的渲染缓冲区绑定到它们两个?伪代码将是:
// ---------- Initialization ----------
// create 'FBO1'
// create render buffer 'RB'
// bind RB to FBO1
// bind TEXTURE1 to FBO1 for color rendering
// create FBO2
// bind RB to FBO2
// bind TEXTURE2 to FBO2 for color rendering
// ---------- Rendering frame----------
// bind FBO1
// render entire scene with depth writing enabled
// bind FB2
// render some objects again with depth mask GL_EQUAL
Run Code Online (Sandbox Code Playgroud)
结果应该是TEXTURE2仅包含对象的那些部分,这些部分不会被第一遍中呈现的其他对象遮挡.
是否可以使用两个帧缓冲对象FBO1和FBO2,并将相同深度的渲染缓冲区绑定到它们两个?
是的,这是完全可能的.但是,单个渲染缓冲区或纹理不能同时是给定FBO中多个附件中的渲染目标.
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |