查看: 3099|回复: 4

怎么判断一个物体是否在视野范围内?

[复制链接]

该用户从未签到

发表于 2008-11-24 16:28:20 | 显示全部楼层 |阅读模式
怎么判断一个物体是否在视野范围内?就是说怎么让程序知道人眼看不到物体了?

该用户从未签到

发表于 2008-11-24 19:51:01 | 显示全部楼层
视锥体的概念。如果把人自己当作一个点的话,他的视野可以视作一个圆锥体(或者说圆台也许更准确),只要知道这个圆锥体的锥角,近平面和远平面,就可以知道某个物体是否在这个视锥体内。

但事实上双眼之间是有一定的距离的,也就是Fusion Distance,因此如果要在双眼投下不同的成像,产生真正的立体效果的话,就需要更复杂的渲染操作。这涉及到立体显示的内容。

该用户从未签到

 楼主| 发表于 2008-11-25 10:45:45 | 显示全部楼层
指的是这个函数吗 getProjectionMatrixAsFrustum ,用其得到的left,right, bottom,top 判断时不起作用,我就是简单地用      x>left&&x<right&&z>bottom&&z<top  是不是我理解错了。

该用户从未签到

发表于 2008-11-25 10:50:04 | 显示全部楼层
这样肯定是不行的,,left,right, bottom,top ,,这个只是近裁剪面的参数信息,,,你可以通过视角和距离计算得到一个视锥体,,,然后再进行判断~~~~~~~~~~~~~

该用户从未签到

发表于 2008-11-25 11:34:02 | 显示全部楼层
视锥体裁减OSG已经为您实现了,如果您想实现自己的场景裁剪算法,不妨先关掉Camera摄像机的VIEW_FRUSTUM_CULLING选项
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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