首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用panda3d生成深度图

用panda3d生成深度图
EN

Stack Overflow用户
提问于 2017-11-01 23:42:49
回答 1查看 283关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 21:56:31

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47058578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档