查看: 5846|回复: 5

osgEarth的天空盒skynode的问题

[复制链接]

该用户从未签到

发表于 2011-5-4 20:38:22 | 显示全部楼层 |阅读模式
不知道有没有什么使用skynode的例子?

我简单的试了一下

osgEarth::Util::SkyNode* skyNode = new osgEarth::Util::SkyNode();
skyNode->attach( myviewer, 0 );

好像什么也没发生,也没天空、太阳、星星什么的。

我用的是vpb生成的地形文件,所以我把skyNode 的构造函数改造了一下,不知有什么影响,谢谢!




SkyNode::SkyNode(const std::string& starFile ) :
_lightPos( osg::Vec3f(0.0f, 1.0f, 0.0f) ),
_ambientBrightness( 0.4f )
{
    _ellipsoidModel =  new osg::EllipsoidModel;
    _innerRadius = _ellipsoidModel->getRadiusPolar();
    _outerRadius = _innerRadius * 1.025f;
    _sunDistance = _innerRadius * 12000.0f;

    // note: order is important here
    makeAtmosphere( _ellipsoidModel );
    makeSun();
    makeStars(starFile);
}

该用户从未签到

发表于 2011-5-5 08:35:01 | 显示全部楼层
SkyNode很容易使用,您可以看看osgearthviewer中的用法

该用户从未签到

发表于 2012-7-31 15:26:36 | 显示全部楼层
        //加入星空场景
        double hours = mapNode->externalConfig().child("sky").value( "hours", 12.0 );
        SkyNode* sky = new SkyNode(mapNode->getMap());
        sky->setDateTime( 2011, 3, 6, hours);
        sky->attach(mViewer);
        mRoot->addChild(sky);
用这段程序我将星空加到了自己的mfc程序中,需要注意的是,一定要确保mViewer获取值之后再加入该程序

该用户从未签到

发表于 2012-8-9 16:29:01 | 显示全部楼层
郁闷死了

该用户从未签到

发表于 2012-8-30 11:08:43 | 显示全部楼层
osgearthviewer这里有相关用法

该用户从未签到

发表于 2016-8-23 19:20:28 | 显示全部楼层
多谢3L的提醒!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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