Questions about shadows:

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
c_olin3404
Posts: 67
Joined: Fri Jan 23, 2004 5:04 am

Questions about shadows:

Post by c_olin3404 »

I wrote this simple program jsut to test out the map I made. I worked fine lightmaps and all, then I added an md2 mesh, and a light to the scene node and enabled shadows on the md2 model.... but there are no shadows!?!?!?

why?

Code: Select all

#include <irrlicht.h>
#include <wchar.h>

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

#pragma comment(lib, "Irrlicht.lib")

/*-- Node Definitions --*/
ICameraSceneNode* camera = 0;
ISceneNode* lvlNode = 0;
//

class MyEventReceiver : public IEventReceiver
{
public:
	virtual bool OnEvent(SEvent event)
	{
		if (camera)
			return camera->OnEvent(event);

		return false;
	}
};


int main()
{
	MyEventReceiver receiver;

	IrrlichtDevice *device = createDevice(DT_DIRECTX8, dimension2d<s32>(1024, 768), 16, true, false, &receiver);

	IVideoDriver* driver = device->getVideoDriver();
	ISceneManager* smgr = device->getSceneManager();
	IGUIEnvironment* guienv = device->getGUIEnvironment();

	//

	/*-- TEST LEVEL --*/
	IAnimatedMesh* testLvl  = smgr->getMesh("maps/testing.bsp");
	

	lvlNode = smgr->addOctTreeSceneNode(testLvl->getMesh(0));
	lvlNode = smgr->addLightSceneNode(0, vector3df(-120,40,130), SColorf(1.0f, 0.6f, 0.7f, 1.0f), 600.0f);
	//

	/*-- TEST MESH --*/
	IAnimatedMesh* testMesh = smgr->getMesh("sydney.md2");
	IAnimatedMeshSceneNode* testMeshNode = smgr->addAnimatedMeshSceneNode(testMesh);

	testMeshNode ->setMaterialFlag(EMF_LIGHTING, true);
	testMeshNode ->setFrameLoop(0, 310);	
	testMeshNode ->setMaterialTexture( 0, driver->getTexture("sydney.bmp") );
	testMeshNode ->addShadowVolumeSceneNode();
	testMeshNode->setPosition(vector3df(-150,30,130));
	smgr->setShadowColor(SColor(220,0,0,0));
	//
	
	camera = smgr->addCameraSceneNodeFPS();


	device->getCursorControl()->setVisible(false);

	//

	while(device->run())
	{
		driver->beginScene(true, true, SColor(0,100,100,100));
		smgr->drawAll();
		guienv->drawAll();
		driver->endScene();
	}


	device->drop();
	
	return 0;
}
deps
Posts: 115
Joined: Sat Jan 10, 2004 5:22 pm
Location: Tranås, Sweden

Post by deps »

Code: Select all

IrrlichtDevice *device = createDevice(DT_DIRECTX8, dimension2d<s32>(1024, 768), 16, true, false, &receiver); 
You need to enable the stencilshadows here. change that false to true.
Post Reply