osg::Fog* fog = new osg::Fog();
fog->setMode(osg::Fog::LINEAR);
fog->setStart(500.0f);
fog->setEnd(2500.0f);
fog->setDensity(10);
fog->setColor(osg::Vec4(0.5f, 0.5f, 0.5f, 1.0f));
fog->setUpdateCallback(new osgEarth::Util::FogCallback());
m_MapNode->getOrCreateStateSet()->setAttributeAndModes(fog, osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE);
osgEarth::Util::FogEffect* fogEffect = new osgEarth::Util::FogEffect();
fogEffect->attach(m_MapNode->getOrCreateStateSet());
//取消雾效
//fogEffect->detach(m_MapNode->getOrCreateStateSet());
osgearth添加雾效
最新推荐文章于 2023-12-08 15:46:23 发布
本文档详细介绍了如何在osgEarth项目中利用C++编程添加雾效,涵盖了必要的配置步骤和代码实现,旨在帮助开发者提升场景的真实感。
摘要由CSDN通过智能技术生成