查看: 1353|回复: 3

大家帮忙看一下,为什么雪显示不出来。

[复制链接]

该用户从未签到

发表于 2014-5-13 09:52:34 | 显示全部楼层 |阅读模式
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osgParticle/PrecipitationEffect>
#include <osg/Node>
#include <osg/MatrixTransform>
#include <osgParticle/PrecipitationEffect>

#define dN 3.1415927

void main()
{
        osgViewer::Viewer viewer;

        osg::Group * root = new osg::Group() ;
        osg::Node* ceep = osgDB::readNodeFile("d:/aa/earth/earth.ive") ;
        root ->addChild(ceep) ;




        osg::ref_ptr<osg::EllipsoidModel>pEll = new osg::EllipsoidModel;
        double posx = 0.0;
        double posy = 0.0;
        double posz = 0.0;


        pEll->convertLatLongHeightToXYZ(26.557861*dN/180,104.957843*dN/180,100000.0, posx, posy, posz);

        pEll->convertLatLongHeightToXYZ(26.557861*dN/180,104.957843*dN/180,1000.0, posx, posy, posz);

        osg::ref_ptr<osg::MatrixTransform> treffect = new osg::MatrixTransform;
        treffect->setMatrix(osg::Matrix::translate(posx, posy, posz));

        osg::ref_ptr<osgParticle:recipitationEffect> precipitationEffect = new osgParticle:recipitationEffect;
        precipitationEffect->snow(0.5);
        precipitationEffect->setParticleColor(osg::Vec4(1, 1, 1, 1));
        precipitationEffect->setWind(osg::Vec3(posx, posy, posz));


        treffect->addChild(precipitationEffect.get ()) ;

        root->addChild(treffect.get());



        viewer.setSceneData(root);
        viewer.realize();
        viewer.run();
}


我无论是用osgdem生成的earth.ive,还是用earth文件,都显示不出来雪,拉近后发现,雪在数字球内部下。
把数字球缩小一千倍,就能显示出来。

感觉是不是osgParticle:recipitationEffect坐标直接写死到0了呀。

该用户从未签到

发表于 2014-5-13 10:31:29 | 显示全部楼层

【SMALL_FEATURE_CULLING:细节筛选,场景中某些物体对于观察者而言可能是十分微小的,足以忽略不计,此时可以用细节筛选特性将它们剔除。判断对象是否足够微细的阈值由CullSettings::setSmallFeatureCullingPixelSize设定。注意这种筛选可能会剔除一些必要的信息(比如用户在屏幕上绘制了一些点,却发现它们统统被吞噬掉了),此时可以强制设置几何体对象的包围盒大小(Drawable::setInitialBound),或者关闭细节筛选特性。】
-----------OSG原创教程:最长的一帧(10) ARRAY

该用户从未签到

 楼主| 发表于 2014-5-13 10:41:02 | 显示全部楼层
昨天有人提到让我使用裁剪,但是在哪设置呢?关键是现在粒子在地球内部。好像一直在原点。您能告诉我怎么改吗

该用户从未签到

 楼主| 发表于 2014-5-17 22:30:56 | 显示全部楼层
问题解决了,是坐标的问题,谢谢大家关心!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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