Shadow not working

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
konrad
Posts: 15
Joined: Wed Oct 03, 2007 7:07 pm
Location: Poland

Shadow not working

Post by konrad »

Code: Select all

#include <irrlicht.h>
using namespace irr;
#pragma comment(lib,"irrlicht.lib")
int main()
{
   IrrlichtDevice* device=0;
   device=createDevice(video::EDT_OPENGL,core::dimension2d<s32>(640,480),16,false,true,false);

   video::IVideoDriver* driver=device->getVideoDriver();
   scene::ISceneManager* smgr=device->getSceneManager();
//!  //   SKYSPHERE   //  !// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   scene::ISceneNode* sky=0;
   sky=smgr->addSkyDomeSceneNode(driver->getTexture("./gfx/Sky.jpg"),50,50,1.0f,2.0f);
         //! KOLIZJA ZE SCENA : COLLISION
   scene::IAnimatedMesh* SceneMesh=smgr->getMesh("./models/Scene.md2");
   scene::ISceneNode* SceneNode=0;
   SceneNode=smgr->addOctTreeSceneNode(SceneMesh->getMesh(0));
//      Selector
   scene::ITriangleSelector* selector=0;
   selector=smgr->createOctTreeTriangleSelector(SceneMesh->getMesh(0),SceneNode,128);
   SceneNode->setTriangleSelector(selector);
   selector->drop();
//!  //   MODELE : MODELS   //  !// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   scene::IAnimatedMesh* Mesh=0; // LoaderMeshes
   scene::IAnimatedMeshSceneNode* ANode=0; // AnimatedNode
   scene::ISceneNode* SNode=0; // SceneNode
        //! WCZYTYWANIE MODELI : LOAD MODELS
//      Sceneria
   Mesh=smgr->getMesh("./models/Scene.md2");
   ANode=smgr->addAnimatedMeshSceneNode(Mesh);
   ANode->setMaterialFlag(video::EMF_LIGHTING,true);
   ANode->setMaterialTexture(0,driver->getTexture("./gfx/Red.jpg"));
//      Kolo : Sphere
   Mesh=smgr->getMesh("./models/Sphere.md2");
   ANode=smgr->addAnimatedMeshSceneNode(Mesh);
   ANode->setPosition(core::vector3df(0,20,0));
   ANode->setMaterialFlag(video::EMF_LIGHTING,true);
   ANode->setMaterialTexture(0,driver->getTexture("./gfx/Blue.jpg"));
   ANode->addShadowVolumeSceneNode(-1,true,1000.0f);
        //! SWIATLO I CIENIE : LIGHTS & SHADOWS
   SNode=smgr->addLightSceneNode(0,core::vector3df(0,80,40),video::SColor(255,255,255,255),100.0f);
   smgr->setShadowColor(video::SColor(0,0,0,0));
//!  //   KAMERA FPS : FPS CAMERA  //  !// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SKeyMap keyMap[8];
keyMap[1].Action = EKA_MOVE_FORWARD;    keyMap[1].KeyCode = KEY_KEY_W;
keyMap[2].Action = EKA_MOVE_BACKWARD;   keyMap[2].KeyCode = KEY_KEY_S;
keyMap[3].Action = EKA_STRAFE_LEFT;     keyMap[3].KeyCode = KEY_KEY_A;
keyMap[4].Action = EKA_STRAFE_RIGHT;    keyMap[4].KeyCode = KEY_KEY_D;
keyMap[5].Action = EKA_JUMP_UP;           keyMap[5].KeyCode = KEY_SPACE;
   scene::ICameraSceneNode* camera=smgr->addCameraSceneNodeFPS(0,100.0f,50.0f,-1,keyMap,6,true,0.1f);
   camera->setPosition(core::vector3df(0,100,50));
   camera->setRotation(core::vector3df(0,180,0));
   device->getCursorControl()->setVisible(false);
//      Dodaj kolizje : Add collision
   scene::ISceneNodeAnimatorCollisionResponse* anim=0;
   anim=smgr->createCollisionResponseAnimator(
     selector,camera,
     core::vector3df(4,10,4),
     core::vector3df(0,-0.3,0),
     core::vector3df(0,5,0));
   camera->addAnimator(anim);
   anim->drop();
//!  //   WHILE   //  !// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   while(device->run())
   {
         //! DRAW All
      driver->beginScene(true,true,video::SColor(100,100,100,200));
      smgr->drawAll();
      driver->endScene();
   }
   device->drop();
   return 0;
}
Why the shadow not working?:(
EDIT:
Screen: http://www.uploadhouse.com/viewfile.php?id=573393
VioletAlixe
Posts: 28
Joined: Thu Oct 04, 2007 9:03 pm

Post by VioletAlixe »

For one. Shut up and wait. :X
For two, here you go.

You put

Code: Select all

smgr->setShadowColor(video::SColor(0,0,0,0));
The numbers mean Alpha, Red, Green, Blue. Alpha at 0 means it's invisible.

Throw that first number up so it's something like SColor(220,0,0,0).
konrad
Posts: 15
Joined: Wed Oct 03, 2007 7:07 pm
Location: Poland

Post by konrad »

Thanks! :D
Post Reply