我已創建使用到RGBA紋理
glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, CONSENSUS_DEPTH_COMPONENT, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
此紋理的紋理深度複製紋理在其他代碼中使用並填充深度。現在我想將深度值複製到RGBA紋理(哪個顏色通道無關緊要)。
我該怎麼做?
我已創建使用到RGBA紋理
glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, CONSENSUS_DEPTH_COMPONENT, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
此紋理的紋理深度複製紋理在其他代碼中使用並填充深度。現在我想將深度值複製到RGBA紋理(哪個顏色通道無關緊要)。
我該怎麼做?
如果需要要快,我想說渲染orthograhic四紋理的大小和使用着色器從深度紋理讀取和寫入到目標的紋理。
如果表現不管那麼多了,你可以使用公益組織(甚至可能會更快取決於您的渲染管線,但攤位的CPU)。 Here's an overview on said PBOs
我不知道任何固有的OpenGL的方法來做到這一點。
爲什麼你需要這樣做?您可以使用着色器或使用glReadPixels從深度紋理讀取。 – 2012-01-05 14:38:18
我想在CUDA中使用這個值,所以我限制了我可以使用的紋理格式。 – Patrik 2012-01-05 14:46:42