查看: 1349|回复: 11

有关遮挡的问题

[复制链接]

该用户从未签到

发表于 2012-12-29 22:01:52 | 显示全部楼层 |阅读模式
请问一下各位朋友,我在osgocean场景中添加一个新的结点,结果被海洋场景挡住了,有没有什么办法使新添加的结点呈现在最前面而不被挡住呢?

该用户从未签到

发表于 2012-12-30 00:15:11 | 显示全部楼层
如果只是一个类似图标的模型节点,Hud是最好的选择

该用户从未签到

 楼主| 发表于 2012-12-30 10:09:46 | 显示全部楼层
如果是指南针呢?我试着用hud显示出来了,但指南针不会转动了

该用户从未签到

发表于 2012-12-30 10:37:26 | 显示全部楼层
指南针也一样,使用hud显示,但是你需要不断的更新回调得到主相机的观察矩阵,然后再将得到的矩阵对hud中的相机进行应用,这样指南针才能动
osg::Camera* masterCam = view->getCamera();
        osg::Vec3 eye, center, up;
        masterCam->getViewMatrixAsLookAt(eye, center, up, 30);
然后将eye, center, up应用到hud相机中~

该用户从未签到

 楼主| 发表于 2012-12-30 15:45:57 | 显示全部楼层
除了HUD还有没有其它方法呢?

该用户从未签到

发表于 2012-12-30 18:30:21 | 显示全部楼层
确定是最后绘制 并且在绘制前清空depthbuffer

该用户从未签到

 楼主| 发表于 2012-12-30 20:29:37 | 显示全部楼层
我是创建了一个root组结点,然后分别加入了ocean结点和compass指南针结点,ocean结点里包含海洋和天空盒等等,是需要清空ocean的depthbuffer吗?怎样清空呢?

该用户从未签到

发表于 2012-12-31 12:04:04 | 显示全部楼层
hud是一个很简单的方法,只需要postRender,外加更新回调设置hud相机的camera->SetViewMateix()
指南针或指示图标的问题早就老生常谈了。。。。
论坛里面帖子一大堆。。。并且还有源码。。。。。

该用户从未签到

 楼主| 发表于 2012-12-31 17:35:34 | 显示全部楼层
我刚用hud做了一下,能显示出来了,也能旋转了,但指南针却一直在闪动,不知道怎么回事。能看看源码吗?

该用户从未签到

发表于 2013-1-4 09:34:18 | 显示全部楼层
osgrecipes中就有指南针的例子

该用户从未签到

 楼主| 发表于 2013-1-4 16:39:30 | 显示全部楼层
哦,谢谢啦,还想请问一下array大哥,怎样将圆形纹理图片映射到一个近似圆形的多边形上呢?

该用户从未签到

发表于 2013-1-5 08:55:20 | 显示全部楼层
设置纹理坐标啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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