我要发帖 回复

正式会员

1

主题

20

积分

0

专家分

:

私信
发表时间 : 2008-5-16 15:36:04 | 浏览 : 2854    评论 : 5
已知球的半径和球心,尝试过osgSim::SphereSegment, 具体代码和场景图形如下:
osg::ref_ptr<osg::MatrixTransform> blood = new osg::MatrixTransform;  //根节点
osg::ref_ptr<osgSim::SphereSegment> ss = new osgSim::SphereSegment
                                                                 (osg::Vec3d(0.0,0.0,0.0),
                                                                   700.0f, // radius
                                                                   osg::DegreesToRadians(135.0f),
                                                                   osg::DegreesToRadians(240.0f),
                                                                   osg::DegreesToRadians(-60.0f),
                                                                   osg::DegreesToRadians(-40.0f),
                                                                   60);

        ss->setAllColors(osg::Vec4(1.0f,1.0f,1.0f,0.5f));
        ss->setSideColor(osg::Vec4(0.5f,1.0f,1.0f,0.1f));
blood-->addChlid( ss.get() );
Ps:生成球段的参数是从osg的例子里直接复制的,所以不是半球的数据。
     然后将生成结果写为一个.osg的文件,使用osgViewer进行观察,但好像什么都没有生成。
不知道有没有别的办法可以生成半球?希望各位大侠指教啊,谢谢啦~~~~

最近VR访客

sarah1986 评论于2008-5-16 15:39:25
如果用一个剪裁面窃取球的一半可不可以呢?不知道怎么用剪裁面呢
yingzi_zxp 评论于2008-5-16 22:42:42
难道会比在creator中建一个,然后读进来跟简单?呵呵
FlySky 评论于2008-5-18 09:42:50
哈哈哈,,,我估计楼主是想做一个天空盒~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
sarah1986 评论于2008-5-19 15:14:25
真不好意思,刚刚开始学,所以有很多很弱很奇怪的问题,让各位大侠见笑了。
总之也不一定要画一个半球,随便生成一个球段,然后写为一个.osg文件,然后用osgViewer观察要怎么实现呢?
按照我的代码,什么都显示不出来是为什么呢?
还是希望能给个解答,再次感谢
FlySky 评论于2008-5-19 21:47:08


那你用OSGSHAPE直接画一个球好了,然后再画一个大平面就好了,裁剪设置一下裁剪平面也是可以的~~~~~~~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-6-16 06:10 PM

返回顶部