C++ 从深度贴图三维渲染曲面

C++ 从深度贴图三维渲染曲面,c++,3d,ogre3d,C++,3d,Ogre3d,使用立体视觉,我制作了代表从摄像机观看的3d环境的深度图。与摄影机位置关联的每个“关键帧”都有一个深度贴图。目标是将这些2d深度贴图转换为3d空间(然后合并它们以重建整个环境) 在3d中翻译这些深度贴图的最佳(有效)方法是什么?每个深度贴图都是752x480,因此三角形的数量可以快速增长。我想要一个自动系统来管理对象的详细程度 我的团队使用Ogre3d,所以用它找到解决方案将是非常棒的。我所寻找的与Terrain所做的非常相似,只是我希望能够将生成的对象放在我想要的任何位置(平移、旋转),我认为

使用立体视觉,我制作了代表从摄像机观看的3d环境的深度图。与摄影机位置关联的每个“关键帧”都有一个深度贴图。目标是将这些2d深度贴图转换为3d空间(然后合并它们以重建整个环境)

在3d中翻译这些深度贴图的最佳(有效)方法是什么?每个深度贴图都是752x480,因此三角形的数量可以快速增长。我想要一个自动系统来管理对象的详细程度

我的团队使用Ogre3d,所以用它找到解决方案将是非常棒的。我所寻找的与Terrain所做的非常相似,只是我希望能够将生成的对象放在我想要的任何位置(平移、旋转),我认为Terrain无法做到这一点


我对Ogre3d非常陌生,所以如果有一个简单的解决方案我应该知道,请原谅我。如果其他工具比Ogre3d更适合我的问题,我很乐意了解它

不清楚“将depahtmap与environment合并”要执行什么操作

无论如何,在您的情况下,您似乎坚持使用地形高度贴图技术使其成为3d。 在您的情况下,由于深度贴图与屏幕对齐,请使用屏幕空间简单的光线投射技术。因此,您必须在ogre3D中使用合成器获取深度贴图,并在您想要的像素上进行变换

深度贴图的平移和旋转可能会限制在屏幕上的xy,就像地形高度贴图(使用高度贴图不能有洞穴)一样,您确实会丢失尺寸


不直接相关,但可能有帮助:在纯屏幕空间中,有一种技术“位置重建”可以帮助获取对象世界空间的位置,但前提是您的相机上有大量用于生成所用深度图的信息,例如:

非常感谢您的回答。你提供的链接非常有趣。但是有一件事我没有说清楚:深度贴图是从真实世界的相机计算出来的,但是重建的环境应该可以在各个方向上进行探索。操作的结果应该是在空间中悬挂一个变形的网格,例如可以旋转网格。我正在寻找一个3d表示,不仅仅是屏幕渲染,所以我不认为我可以使用着色器来实现这一点…然后你会被像heightmap一样的重建所困扰。(您可能想尝试点云,但通常检查速度更慢)使用深度贴图重建三维对象是图像分析的一个主题,因此您可能想看看那里(opencv库使用类似)谢谢!多亏了visual-experiments.com网站,我发现它解决了我面临的一些问题。我现在有一些书要读!