用panda3d生成深度图



我需要为三维重建代码生成测试数据。为此,我决定使用panda3d。我能够创建简单的应用程序并查看场景。现在我需要为场景创建深度图,即对于屏幕上的每个像素,我需要计算深度,即从相机到三维空间中最近对象的距离(垂直于相机平面移动)。哪些API函数更适合于此?

这在原理上类似于阴影映射,如高级阴影示例中所示。您需要创建一个屏幕外缓冲区和相机来渲染深度缓冲区。请注意,除非使用正交透镜,否则生成的深度值将不是线性的,需要使用透镜的近值和远值将其转换为线性值。应配置近距离和远距离,以便获得所需的深度值范围。

或者,可以使用着色器将适当的距离值写入颜色缓冲区,如果希望存储透视摄影机的距离值而不必在以后撤消透视投影,或者希望存储原始世界空间位置,则此操作特别有用。

如果希望能够访问CPU上的值,则在绑定纹理时需要使用RTM_copy_ram值而不是RTM_bind_or_copy,以告诉Panda3D将渲染缓冲区的结果传输到CPU可访问的内存。

相关内容

  • 没有找到相关文章

最新更新