查看: 3000|回复: 2

如何获取视锥体的六个面的方程

[复制链接]

该用户从未签到

发表于 2009-5-24 21:15:30 | 显示全部楼层 |阅读模式
如题,

已经找到了,谢谢关注。

[ 本帖最后由 ghczhaolei 于 2009-5-24 21:28 编辑 ]

该用户从未签到

发表于 2009-5-24 21:47:54 | 显示全部楼层
呵呵,楼主何不介绍一下自己的方法?

有一种方法是:用osg:: Polytope类,它的transformProvidingInverse函数可以比较迅速地计算和获取视锥体的各个面,输入参数通常为当前的MVP矩阵

该用户从未签到

 楼主| 发表于 2009-5-24 21:52:43 | 显示全部楼层
呵呵 我想我用也许和array说的方式相近:
  1. bool getProjectionMatrixAsFrustum(double& left, double& right,
  2.                                           double& bottom, double& top,
  3.                                           double& zNear, double& zFar) const;

  4. bool getProjectionMatrixAsPerspective(double& fovy,double& aspectRatio,
  5.                                               double& zNear, double& zFar) const;
复制代码
通过上面获得的视锥体平截头的各参数利用osg::Polytope计算

我这方法比array的费事,还是array的好,呵呵

[ 本帖最后由 ghczhaolei 于 2009-5-25 09:01 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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