查看: 2453|回复: 12

摄像机拉近时模型消失的问题

[复制链接]

该用户从未签到

发表于 2009-4-13 20:55:03 | 显示全部楼层 |阅读模式
如图1,当飞机模型拉近时,飞机容易被天空或大地遮挡,拉远一点就能显示。

如图2,把天空去掉,则正常显示,是否渲染得顺序有误?

[ 本帖最后由 口口广大 于 2009-4-13 20:56 编辑 ]
新建 BMP 图像1.JPG
新建 BMP 图像.JPG

该用户从未签到

发表于 2009-4-14 00:37:30 | 显示全部楼层
设置一下渲染的顺序就可以了~~~~~~~

该用户从未签到

 楼主| 发表于 2009-4-14 11:02:47 | 显示全部楼层
谢谢楼上,请问用什么方法设置渲染顺序?

该用户从未签到

发表于 2009-4-14 12:22:00 | 显示全部楼层
Camera::setRenderOrder
或者
StateSet::setRenderBinDetails
数字值越小渲染顺序越靠前,字符串值binName只能是"RenderBin"或"DepthSortedBin"

该用户从未签到

 楼主| 发表于 2009-4-19 20:09:11 | 显示全部楼层
试过了,没解决,放佛和渲染顺序无关,飞机过近时就会被天空遮挡

[ 本帖最后由 口口广大 于 2009-4-19 20:13 编辑 ]

该用户从未签到

发表于 2009-4-21 09:04:19 | 显示全部楼层
解决了吗?我也遇到这个问题,加了天空盒,照相机拉近就会被天空遮挡

该用户从未签到

发表于 2009-4-21 10:16:17 | 显示全部楼层
会不会是模型LOD的问题

该用户从未签到

发表于 2009-4-21 16:12:31 | 显示全部楼层
加天空盒的时候有没有重设远近剪切面?osg缺省远近剪切面好像是10000和1吧,加天空盒后10000的远剪切面显然是不够的,应该会重设远剪切面。
所以推断可能是近剪切面值过大或远近剪切面距离过大导致深度缓冲精度不够,不过第二种情况似乎不会产生楼主遇到的现象

该用户从未签到

发表于 2009-4-21 16:30:29 | 显示全部楼层
可以设置一下远近裁减比试试看

该用户从未签到

 楼主| 发表于 2009-4-21 22:45:43 | 显示全部楼层
感谢楼上两位,请问osg用什么函数设置远近剪切面?

该用户从未签到

发表于 2009-4-22 14:55:18 | 显示全部楼层
osg::Camera::setProjectionMatrixAsPerspective

该用户从未签到

 楼主| 发表于 2009-4-22 21:29:31 | 显示全部楼层
按照楼上几位的方法解决了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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