|
From: <de...@us...> - 2002-12-14 18:54:16
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source
In directory sc8-pr-cvs1:/tmp/cvs-serv7340
Modified Files:
BaseObject.cpp
Log Message:
Adding particle test
Index: BaseObject.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/BaseObject.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** BaseObject.cpp 13 Dec 2002 01:20:58 -0000 1.4
--- BaseObject.cpp 14 Dec 2002 18:54:13 -0000 1.5
***************
*** 271,275 ****
}
! osgParticle::ParticleSystem *setupParticleSystem(osg::MatrixTransform *base, const osg::Vec4 &colorMin,
const osg::Vec4 &colorMax,
const osg::Vec3 ¢er, float lifetime)
--- 271,276 ----
}
! osgParticle::ParticleSystem *setupParticleSystem(osg::MatrixTransform *base, const string & p_textureFile,
! const osg::Vec4 &colorMin,
const osg::Vec4 &colorMax,
const osg::Vec3 ¢er, float lifetime)
***************
*** 279,287 ****
ptemp.setLifeTime(lifetime);
ptemp.setAlphaRange(osgParticle::rangef(1,0));
! ptemp.setMass(0.2);
! ptemp.setRadius(0.4);
ptemp.setPosition(osg::Vec3(0,0,0));
ptemp.setVelocity(osg::Vec3(0,0,0));
! ptemp.setSizeRange(osgParticle::rangef(0.55f, 0.3f));
ptemp.setColorRange(osgParticle::rangev4(colorMin, colorMax));
--- 280,289 ----
ptemp.setLifeTime(lifetime);
ptemp.setAlphaRange(osgParticle::rangef(1,0));
! ptemp.setMass(1.1);
! ptemp.setRadius(0.3);
ptemp.setPosition(osg::Vec3(0,0,0));
ptemp.setVelocity(osg::Vec3(0,0,0));
! //ptemp.setSizeRange(osgParticle::rangef(0.55f, 0.3f));
! ptemp.setSizeRange(osgParticle::rangef(0.5f, 0.2f));
ptemp.setColorRange(osgParticle::rangev4(colorMin, colorMax));
***************
*** 290,294 ****
// bool emissive_particles = true, bool lighting = false, int texture_unit = 0)
! ps->setDefaultAttributes("Images/particle.rgb", false);
ps->setDefaultParticleTemplate(ptemp);
ps->setFreezeOnCull(false);
--- 292,296 ----
// bool emissive_particles = true, bool lighting = false, int texture_unit = 0)
! ps->setDefaultAttributes(p_textureFile, true, true,0);
ps->setDefaultParticleTemplate(ptemp);
ps->setFreezeOnCull(false);
***************
*** 300,309 ****
osgParticle::RandomRateCounter *rrc = osgNew osgParticle::RandomRateCounter;
! rrc->setRateRange(80, 80);
osgParticle::RadialShooter *rs = osgNew osgParticle::RadialShooter;
rs->setPhiRange(0, 0);
rs->setThetaRange(0,0);
! rs->setInitialSpeedRange(4, 5);
osgParticle::ModularEmitter *me = osgNew osgParticle::ModularEmitter;
--- 302,311 ----
osgParticle::RandomRateCounter *rrc = osgNew osgParticle::RandomRateCounter;
! rrc->setRateRange(100, 100);
osgParticle::RadialShooter *rs = osgNew osgParticle::RadialShooter;
rs->setPhiRange(0, 0);
rs->setThetaRange(0,0);
! rs->setInitialSpeedRange(0, 0);
osgParticle::ModularEmitter *me = osgNew osgParticle::ModularEmitter;
***************
*** 357,389 ****
osg::Vec3 c = s.center();
! osgParticle::ParticleSystem *ps1;
! ps1 = setupParticleSystem(m_rpTransform.get(), osg::Vec4(0.2, 0.5, 1, 0.8), osg::Vec4(0,1,0,1),
! - osg::Vec3(0,2.0 * r/3.0,1),0.1);
! osg::Geode *geode1 = osgNew osg::Geode;
! geode1->setName("PlayerParticleSystem");
! geode1->addDrawable(ps1);
! g_pBattlefield->addNodeToScene(geode1);
!
! osgParticle::ParticleSystem *ps2;
! ps2 = setupParticleSystem(m_rpTransform.get(), osg::Vec4(1, 0, 1, 0.8), osg::Vec4(1,1,1,1),
! - osg::Vec3(0,3.0*r/4,1),0.1);
! osg::Geode *geode2 = osgNew osg::Geode;
! geode2->setName("PlayerParticleSystem");
! geode2->addDrawable(ps2);
! g_pBattlefield->addNodeToScene(geode2);
!
! osgParticle::ParticleSystem *ps3;
! ps3 = setupParticleSystem(m_rpTransform.get(), osg::Vec4(1, 0, 1, 0.8), osg::Vec4(1,1,1,1),
! - osg::Vec3(0,r,1),0.1);
! osg::Geode *geode3 = osgNew osg::Geode;
! geode3->setName("PlayerParticleSystem");
! geode3->addDrawable(ps3);
! g_pBattlefield->addNodeToScene(geode3);
osgParticle::ParticleSystemUpdater *psu = osgNew osgParticle::ParticleSystemUpdater;
! psu->addParticleSystem(ps1);
! psu->addParticleSystem(ps2);
! psu->addParticleSystem(ps3);
! g_pBattlefield->addNodeToScene(psu);
}
--- 359,398 ----
osg::Vec3 c = s.center();
! osg::Vec3Array* pl = osgNew osg::Vec3Array;
!
! for (unsigned short i = 0; i<10; ++i)
! pl->push_back(osg::Vec3(0.0,-(0.8+i/20.0) * r,0.0));
!
osgParticle::ParticleSystemUpdater *psu = osgNew osgParticle::ParticleSystemUpdater;
!
! for (i = 0; i<pl->size();++i)
! {
! osgParticle::ParticleSystem *ps = setupParticleSystem(m_rpTransform.get(),"Images/particle.rgb",
! osg::Vec4(0.2, 0.5, 1, 0.8),
! osg::Vec4(0,0.5,1,1),
! (*pl)[i],0.05);
! osg::Geode *geode = osgNew osg::Geode;
! geode->setName("PlayerParticleSystem");
! geode->addDrawable(ps);
! g_pBattlefield->addNodeToScene(geode);
! psu->addParticleSystem(ps);
! }
!
! for (i = 0; i<pl->size();++i)
! {
! osgParticle::ParticleSystem *ps = setupParticleSystem(m_rpTransform.get(),"Images/smoke.rgb",
! osg::Vec4(0,1,0,1),
! osg::Vec4(0.2, 0.5, 1, 0.8),
! (*pl)[i],0.01);
! osg::Geode *geode = osgNew osg::Geode;
! geode->setName("PlayerParticleSystem");
! geode->addDrawable(ps);
! g_pBattlefield->addNodeToScene(geode);
! psu->addParticleSystem(ps);
! }
!
! //g_pBattlefield->addNodeToScene(psu);
! m_rpTransform.get()->addChild(psu);
}
|