查看: 1133|回复: 2

基于depthBuffer检测三维模型自遮挡区域

[复制链接]

该用户从未签到

发表于 2014-10-12 20:50:43 | 显示全部楼层 |阅读模式
        最近在做三维重建中的纹理映射,其中涉及到的一个关键处理环节就是在映射过程需要检测模型中那些在某张影像I上不可见的三角面元,然后再对这些三角面元进行映射时就不从影像I上取出相应的纹理。目前已经实现了基于碰撞检测的遮挡检测(模型复杂度很高,造成其效率太低),基于ZBUFFER,空间网格索引、光线追踪法等算法效率同样不高。现在已经通过OSG模拟出了多角度拍摄该模型时的场景(根据无人机上相机的空间位置和姿态,以此作为视图矩阵),然后根据场景中模型的可见与不可见部分得到特定视图矩阵下的遮挡情况。请问如何根据深度缓冲区来得到特定视图矩阵下的遮挡情况,或者说在特定视图矩阵下,如何访问深度缓冲区?不同视图矩阵下,同一个场景模型的深度缓冲区是否保持不变(我觉得是在变的),如果不变那又是什么在影响不同观察位置下渲染出场景模型的不同部分?

该用户从未签到

发表于 2014-10-13 17:08:16 | 显示全部楼层
深度缓冲区存储的是模型与眼睛的位置距离,并归一化[0,1],深度缓冲区是实时变化的,眼睛或模型改变都会改变深度缓冲区,关于读取深度缓冲区请参考cookbook,里面有读取和渲染深度缓冲区的一个例子

该用户从未签到

 楼主| 发表于 2014-10-14 20:22:28 | 显示全部楼层
恩,谢谢您的回答,和我想的一样!cookBOOK暂时还木有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表