天天看點

OSG粒子效果-雪

osg可以實作各種各樣角複雜的粒子效果,下面實作一個比較簡單的下雪的效果:

OSG粒子效果-雪
void createSnow() {

	osg::ref_ptr<osg::Group> root = new osg::Group;

	root->addChild(osgDB::readNodeFile("cow.osg"));


	//設定雪花類
	osg::ref_ptr<osgParticle::PrecipitationEffect> sn = new osgParticle::PrecipitationEffect;
	//設定雪花濃度
	sn->snow(0.3);
	//設定雪花顔色
	sn->setParticleColor(osg::Vec4(1, 1, 1, 0));

	//設定風向
	sn->setWind(osg::Vec3(0, 0, 0)); 
	root->addChild(sn.get());


	osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
	viewer->addEventHandler(new osgViewer::WindowSizeHandler());
	viewer->setSceneData(root.get());

	viewer->realize();
	viewer->run();
}

           

aaa