Did you have any remark on the code I wrote :
Code: Select all
scene::ISceneNode* node = NULL ;
scene::IAnimatedMesh* sphere = device->getSceneManager()->getMesh("./ressources/sphere.obj");
if (!sphere)
{
printf("incorrect filename\n");
return 1;
}
// red sphere
node = device->getSceneManager()->addAnimatedMeshSceneNode(sphere);
node->setPosition(core::vector3df(0,0,200));
node->setMaterialType(video::EMT_SOLID);
node->getMaterial(0).AmbientColor = video::SColor( 255, 255, 0, 0 );
node->getMaterial(0).DiffuseColor = video::SColor( 255, 255, 255, 255 );
node->getMaterial(0).SpecularColor = video::SColor( 255, 255, 255, 255 );
//node->getMaterial(0).EmissiveColor = video::SColor( 250, 250, 250, 250 );
node->setMaterialFlag(video::EMF_LIGHTING, true);
// light juste over the red sphere
scene::ILightSceneNode * pLight = device->getSceneManager()->addLightSceneNode( node );
pLight->setPosition(core::vector3df(0,50,0));
pLight->getLightData().AmbientColor = video::SColorf( 1.f, 1.f, 1.f );
pLight->getLightData().DiffuseColor = video::SColorf( 1.f, 1.f, 1.f );
pLight->getLightData().Position = pLight->getPosition() ;
pLight->getLightData().SpecularColor = video::SColorf( 1.f, 1.f, 1.f );
pLight->setDebugDataVisible( true );
pLight->getLightData().Radius = 200 ;