在CUDA中使用OpenGL深度信息

4

我知道在CUDA 4.2中不支持GL_DEPTH_COMPONENT,但我想知道GL_DEPTH_COMPONENT是否会在CUDA 5或将来的版本中被支持。

目前,我正在使用fbo将深度信息渲染到纹理上。然后,我使用这个纹理作为源,将其渲染到其他纹理中,并使用这个最后的颜色纹理与CUDA互操作。

我还尝试使用 glCopyPixels 进行复制。但这两种解决方案都需要大量内存(用于深度和颜色的两个大纹理)。

我也可以使用着色器,但我不想过多地混合技术。

有哪种最有效的方法可以在CUDA中获取OpenGL深度数据?

2个回答

1
在2020年,仍然存在一个问题,即通过OpenGL互操作子系统无法获取CUDA中的深度组件。

-2
你尝试过使用带深度附件的渲染缓冲区,并通过 cudaGraphicsGLRegisterImage 进行注册吗?
此函数支持将渲染缓冲区作为目标,因此您应该能够访问深度信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接