如何在现代OpenGL中将纹理与深度相结合?

时间:2016-09-09 03:23:24

标签: android opengl-es

我正在处理渲染堆栈,并且必须使用深度渲染缓冲区将场景渲染为两个纹理。现在要生成最终场景,我想将这两个渲染组合为具有普通着色器的平面纹理。但是,我正在努力弄清楚如何使用深度渲染缓冲区来组合两个纹理,同时注意对象的距离。

正在搜索我找到this的解决方案,这是一个过时的解决方案,但提供了一些见解。任何人都知道如何在现代OpenGL ES 2.0中实现它?

1 个答案:

答案 0 :(得分:0)

假设它是一个深度敏感的不透明几何体叠加层而且你只有两个3D物体平面,那么你所能做的就是从两个深度纹理中加载样本,比较它们以选择你想要的那个,然后加载来自“胜利者”的颜色值并将其写入输出像素。

...但它听起来相当昂贵并且没有真正获得3D GPU的价值(支持深度/模板测试的GPU的全部要点是避免这种混乱),所以不必合并两者如果有任何改变管道的余地,通行证会更好......