Fix transparency materials in particle systems.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3615 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
3c1c1085b4
commit
c9d021cc36
|
@ -328,7 +328,7 @@ int main()
|
||||||
// scale the mesh by factor 50
|
// scale the mesh by factor 50
|
||||||
core::matrix4 m;
|
core::matrix4 m;
|
||||||
m.setScale ( core::vector3df(50,50,50) );
|
m.setScale ( core::vector3df(50,50,50) );
|
||||||
manipulator->transformMesh( tangentSphereMesh, m );
|
manipulator->transform( tangentSphereMesh, m );
|
||||||
|
|
||||||
earth = smgr->addMeshSceneNode(tangentSphereMesh);
|
earth = smgr->addMeshSceneNode(tangentSphereMesh);
|
||||||
|
|
||||||
|
@ -427,7 +427,7 @@ int main()
|
||||||
core::aabbox3d<f32>(-3,0,-3,3,1,3),
|
core::aabbox3d<f32>(-3,0,-3,3,1,3),
|
||||||
core::vector3df(0.0f,0.03f,0.0f),
|
core::vector3df(0.0f,0.03f,0.0f),
|
||||||
80,100,
|
80,100,
|
||||||
video::SColor(0,255,255,255), video::SColor(0,255,255,255),
|
video::SColor(10,255,255,255), video::SColor(10,255,255,255),
|
||||||
400,1100);
|
400,1100);
|
||||||
em->setMinStartSize(core::dimension2d<f32>(30.0f, 40.0f));
|
em->setMinStartSize(core::dimension2d<f32>(30.0f, 40.0f));
|
||||||
em->setMaxStartSize(core::dimension2d<f32>(30.0f, 40.0f));
|
em->setMaxStartSize(core::dimension2d<f32>(30.0f, 40.0f));
|
||||||
|
@ -444,7 +444,7 @@ int main()
|
||||||
ps->setMaterialFlag(video::EMF_LIGHTING, false);
|
ps->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||||
ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
||||||
ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
|
ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
|
||||||
ps->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
|
ps->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
|
||||||
|
|
||||||
MyEventReceiver receiver(room, earth, env, driver);
|
MyEventReceiver receiver(room, earth, env, driver);
|
||||||
device->setEventReceiver(&receiver);
|
device->setEventReceiver(&receiver);
|
||||||
|
|
|
@ -1888,7 +1888,7 @@ void CQuake3EventHandler::createParticleImpacts( u32 now )
|
||||||
|
|
||||||
pas->setMaterialFlag(video::EMF_LIGHTING, false);
|
pas->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||||
pas->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
pas->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
||||||
pas->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA );
|
pas->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
|
||||||
pas->setMaterialTexture(0, Game->Device->getVideoDriver()->getTexture( smoke[g].texture ));
|
pas->setMaterialTexture(0, Game->Device->getVideoDriver()->getTexture( smoke[g].texture ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -525,7 +525,7 @@ void CDemo::loadSceneData()
|
||||||
scene::IParticleEmitter* em = campFire->createBoxEmitter(
|
scene::IParticleEmitter* em = campFire->createBoxEmitter(
|
||||||
core::aabbox3d<f32>(-7,0,-7,7,1,7),
|
core::aabbox3d<f32>(-7,0,-7,7,1,7),
|
||||||
core::vector3df(0.0f,0.06f,0.0f),
|
core::vector3df(0.0f,0.06f,0.0f),
|
||||||
80,100, video::SColor(0,255,255,255),video::SColor(0,255,255,255), 800,2000);
|
80,100, video::SColor(1,255,255,255),video::SColor(1,255,255,255), 800,2000);
|
||||||
|
|
||||||
em->setMinStartSize(core::dimension2d<f32>(20.0f, 10.0f));
|
em->setMinStartSize(core::dimension2d<f32>(20.0f, 10.0f));
|
||||||
em->setMaxStartSize(core::dimension2d<f32>(20.0f, 10.0f));
|
em->setMaxStartSize(core::dimension2d<f32>(20.0f, 10.0f));
|
||||||
|
@ -539,7 +539,8 @@ void CDemo::loadSceneData()
|
||||||
campFire->setMaterialFlag(video::EMF_LIGHTING, false);
|
campFire->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||||
campFire->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
campFire->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
|
||||||
campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
|
campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
|
||||||
campFire->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
|
campFire->setMaterialType(video::EMT_ONETEXTURE_BLEND);
|
||||||
|
campFire->getMaterial(0).MaterialTypeParam=video::pack_texureBlendFunc(video::EBF_ONE, video::EBF_ONE_MINUS_SRC_ALPHA, video::EMFN_MODULATE_1X, video::EAS_VERTEX_COLOR);
|
||||||
|
|
||||||
// load music
|
// load music
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue