到RGBA纹理

问题描述:

我已创建使用到RGBA纹理

glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, CONSENSUS_DEPTH_COMPONENT, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0); 

此纹理的纹理深度复制纹理在其他代码中使用并填充深度。现在我想将深度值复制到RGBA纹理(哪个颜色通道无关紧要)。

我该怎么做?

+0

为什么你需要这样做?您可以使用着色器或使用glReadPixels从深度纹理读取。 – 2012-01-05 14:38:18

+0

我想在CUDA中使用这个值,所以我限制了我可以使用的纹理格式。 – Patrik 2012-01-05 14:46:42

如果需要要快,我想说渲染orthograhic四纹理的大小和使用着色器从深度纹理读取和写入到目标的纹理。

如果表现不管那么多了,你可以使用公益组织(甚至可能会更快取决于您的渲染管线,但摊位的CPU)。 Here's an overview on said PBOs

我不知道任何固有的OpenGL的方法来做到这一点。

+0

我会建议一个额外的颜色附件,而不是新的渲染阶段。 – Luca 2012-01-05 15:26:25

+0

我会试试这个。谢谢 – Patrik 2012-01-06 09:46:58