查看: 1592|回复: 9

opengl中如何实现类似于osg场景放大到一定倍率后穿透

[复制链接]

该用户从未签到

发表于 2013-5-15 15:30:38 | 显示全部楼层 |阅读模式
请问在opengl中如何实现类似于osg场景中,对象放大到一定倍率后穿透过对象,即相机的操作,谢谢!

该用户从未签到

发表于 2013-5-15 15:59:43 | 显示全部楼层
camera的 eye position 改变到一定程度 就会发生穿透啊

该用户从未签到

 楼主| 发表于 2013-5-15 16:04:00 | 显示全部楼层
liuzhiyu123 发表于 2013-5-15 15:59
camera的 eye position 改变到一定程度 就会发生穿透啊

我设置了eye position,没反应,我菜鸟,不知道怎么回事,能说的具体点吗?非常感谢!

该用户从未签到

发表于 2013-5-15 16:07:04 | 显示全部楼层
eye position 要改变到一定程度 有些模型就会被裁剪   怎么设置的?

该用户从未签到

 楼主| 发表于 2013-5-15 16:18:32 | 显示全部楼层
liuzhiyu123 发表于 2013-5-15 16:07
eye position 要改变到一定程度 有些模型就会被裁剪   怎么设置的?

我的思路是给定一个最小距离,如果相机距离对象中心的距离大于这个最小距离就正常缩放,如果小于这个距离就穿透过去。我现在有如下疑惑:1,如何计算相机距离对象的距离,计算视点到对象中心的距离? 2,缩放过程中,相机的位置如何变化? eye position如何设置? 3,缩放是用glScalef()这个函数实现吗?    菜鸟提问,谢谢大侠解答!!!

该用户从未签到

发表于 2013-5-15 16:46:46 | 显示全部楼层
什么缩放?是camera移动过程中透视投影导致的缩放 还是 对场景的缩放? 有点乱。。。。
计算摄像机到对象的距离 可以再opengl中使用类似OSG中的 包围盒的方法,不过自己实现的还要有很多

该用户从未签到

 楼主| 发表于 2013-5-15 16:51:33 | 显示全部楼层
liuzhiyu123 发表于 2013-5-15 16:46
什么缩放?是camera移动过程中透视投影导致的缩放 还是 对场景的缩放? 有点乱。。。。
计算摄像机到对象的 ...

就是场景中对象的放大缩小

该用户从未签到

 楼主| 发表于 2013-5-15 21:56:28 | 显示全部楼层
zhw_giser 发表于 2013-5-15 16:51
就是场景中对象的放大缩小

不好意思,应该是相机移动过程中的那种“假象缩放”,跟osg缩放穿透的那一样。

该用户从未签到

发表于 2013-5-16 08:12:28 | 显示全部楼层
。。。。。。有点乱

该用户从未签到

 楼主| 发表于 2013-5-16 08:26:59 | 显示全部楼层
liuzhiyu123 发表于 2013-5-16 08:12
。。。。。。有点乱

呵呵,可能我表述不清楚,那你能把跟osg中一样,缩放到一定程度穿透这个具体在opengl中怎么实现跟我说说吗?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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