Index: /GTP/trunk/App/Demos/Illum/Ogre/src/PRMDemo/include/PRMDemo.h
===================================================================
--- /GTP/trunk/App/Demos/Illum/Ogre/src/PRMDemo/include/PRMDemo.h	(revision 2191)
+++ /GTP/trunk/App/Demos/Illum/Ogre/src/PRMDemo/include/PRMDemo.h	(revision 2201)
@@ -33,10 +33,14 @@
 	
 	unsigned long framecount;
+	SceneNode* mainLightNode;
+	Light* light;
 	
 public:
-    PRMDemoFrameListener(RenderWindow* window, Camera* maincam)
+    PRMDemoFrameListener(RenderWindow* window, Camera* maincam, SceneNode* lightNode, Light* l)
         :ExampleFrameListener(window, maincam) 
 				 
     {
+		mainLightNode = lightNode;
+		light = l;
 		framecount = 0;	
 		mMoveSpeed /= 50.0;
@@ -44,7 +48,11 @@
 
     bool frameStarted(const FrameEvent& evt)
-    {		
+    {	
+		/*light->setDirection(mCamera->getDirection());
+		light->setPosition(mCamera->getPosition());
+		mainLightNode->setPosition(mCamera->getPosition());*/
 		bool result = ExampleFrameListener::frameStarted(evt);
        framecount++;
+	  
         return result;     
     }
@@ -64,4 +72,5 @@
 	SceneNode* kupolaNode;
 	SceneNode* mainLightNode;
+	Light* mainLight;
 	
 	void loadResources(void)
@@ -106,5 +115,5 @@
 		OgreIlluminationManager::getSingleton().setShadowMapMaterialName("GTP/Basic/CameraDepth");
 		OgreIlluminationManager::getSingleton().setFocusingSM(false);
-	   OgreIlluminationManager::getSingleton().setShadowMapSize(512);
+	   OgreIlluminationManager::getSingleton().setShadowMapSize(1024);
 	   OgreIlluminationManager::getSingleton().setBlurShadowMap(false);
 	   OgreIlluminationManager::getSingleton().setUseLISPSM(false);
@@ -124,10 +133,4 @@
 		SceneNode* rootNode = mSceneMgr->getRootSceneNode();
 
-		
-		SceneSerializer s(mSceneMgr);
-		DataStreamPtr inputStream; 				
-		//inputStream = ResourceGroupManager::getSingleton().openResource("level.txt");	//towers2.level	
-		//s.parseScript(inputStream, ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
-
 		Entity* pillar = mSceneMgr->createEntity("pillar", "pillarShape.mesh");
 		SceneNode* pillarNode = rootNode->createChildSceneNode("pillarnode");
@@ -135,5 +138,5 @@
 
 			
-		createPlane("p","GTP/Basic/ShadowReciever/ShadowAccum",Vector3(0,-1,0),Vector2(20,20),Vector2(1,1));
+		createPlane("p","GTP/Basic/ShadowReciever/ShadowAccum",Vector3(0,-1.3,0),Vector2(20,20),Vector2(1,1));
 
 		Light* mainLight = mSceneMgr->createLight("MainLight");
@@ -144,14 +147,14 @@
 		mainLightNode = rootNode->createChildSceneNode();
 		
-		mainLightNode->setPosition(5,5,5);		
-		mainLight->setPosition(5,5,5);
-		mainLight->setPowerScale(5);
+		mainLightNode->setPosition(10,10,10);		
+		mainLight->setPosition(10,10,10);
+		mainLight->setPowerScale(10);
 		mainLight->setDirection(-1,-1, -1);
 		mainLight->setSpotlightOuterAngle(Radian(Degree(90)));
-		mainLight->setAttenuation(20, 1, 0, 0);
+		mainLight->setAttenuation(20, 0, 0, 0);
 		mainLightNode->attachObject(mainLight); 	
 
 		BillboardSet* bbs = mSceneMgr->createBillboardSet("bb", 1);
-		bbs->setDefaultDimensions(5,5);
+		bbs->setDefaultDimensions(6,6);
 		bbs->createBillboard(Vector3::ZERO, ColourValue::White);
 		bbs->setMaterialName("Flare");
@@ -160,5 +163,5 @@
 		OgreIlluminationManager::getSingleton().initTechniques();
    }*/
-
+/*
 	void createScene(void) ///TOWERS
     {
@@ -212,6 +215,6 @@
 		
 		OgreIlluminationManager::getSingleton().initTechniques();
-   }
-/*
+   }*/
+
 	void createScene(void) ///PATHMAP Hangar
     {
@@ -219,5 +222,5 @@
 		//mSceneMgr->setWorldGeometry(occlusion_cfg);
 		
-		createPostproc();
+		//createPostproc();
 
 		OgreIlluminationManager::getSingleton().setMainCamera(mCamera);
@@ -252,6 +255,6 @@
 		//createPlane("p","GTP/Basic/ShadowReciever/Depth",Vector3(0,-0.3,0),Vector2(150,150));
 
-		Light* mainLight = mSceneMgr->createLight("MainLight");
-		mainLight->setType(Light::LT_DIRECTIONAL);
+		mainLight = mSceneMgr->createLight("MainLight");
+		mainLight->setType(Light::LT_SPOTLIGHT);
 		mainLight->setCastShadows(true);
         mainLight->setDiffuseColour(ColourValue::White);
@@ -259,14 +262,17 @@
 		mainLightNode = rootNode->createChildSceneNode();
 		
-		mainLightNode->setPosition(1000,1000,1000);		
-		mainLight->setPosition(1000,1000,1000);
+		mainLightNode->setPosition(0,0,0);		
+		mainLight->setPosition(0,0,0);
 		mainLight->setPowerScale(5);
-		mainLight->setDirection(-1,-1, -1);
+		mainLight->setDirection(0, 0, 1);
+		mainLight->setSpotlightOuterAngle(Radian(Degree(90)));
+		mainLight->setAttenuation(20, 0, 0, 0);
 		mainLightNode->attachObject(mainLight); 	
 		
 		OgreIlluminationManager::getSingleton().initTechniques();
    }
-	*/
-	void createPlane(Ogre::String _name, Ogre::String _material, Ogre::Vector3 _pos, Ogre::Vector2 _size, Ogre::Vector2 _subdivisions = Ogre::Vector2(1,1)) {
+	
+	void createPlane(Ogre::String _name, Ogre::String _material, Ogre::Vector3 _pos, Ogre::Vector2 _size, Ogre::Vector2 _subdivisions = Ogre::Vector2(1,1)) 
+	{
 		Plane _plane;
         _plane.normal = Vector3::UNIT_Y;
@@ -291,5 +297,5 @@
 		// This is where we instantiate our own frame listener
 		mFrameListener= new PRMDemoFrameListener(mWindow,
-											mCamera	);
+											mCamera, mainLightNode, mainLight	);
        mFrameListener->setPriority(1);	
 		mRoot->addFrameListener(mFrameListener);
Index: /GTP/trunk/App/Demos/Illum/Ogre/src/Common/src/SceneSerializer.cpp
===================================================================
--- /GTP/trunk/App/Demos/Illum/Ogre/src/Common/src/SceneSerializer.cpp	(revision 2186)
+++ /GTP/trunk/App/Demos/Illum/Ogre/src/Common/src/SceneSerializer.cpp	(revision 2201)
@@ -50,5 +50,5 @@
 	for(int i = 2; i < parameters.size(); i++)
 		clasters.clusters[i-2] = StringConverter::parseUnsignedInt(parameters.at(i));
-	clasters.pathMapTextureFilename = context.pathMapTextureName + "_" + parameters[0]+ ".hdr";
+	clasters.pathMapTextureFilename = context.pathMapTextureName + "_" + parameters[0]+ ".dds";
 	clasters.pathMapResolution = context.pathMapResolutions[context.meshName];
 	OgreIlluminationManager::getSingleton().addPathMapClusters(subentityname, clasters);
@@ -158,4 +158,12 @@
 
 		OgreIlluminationManager::getSingleton().addPathMapEntryPoint(ep);
+
+		stream->readLine(buffer, 500);
+		line = buffer;
+		tokens = StringUtil::split(line);
+		ep.position = Vector3(StringConverter::parseReal(tokens[1]));
+
+		OgreIlluminationManager::getSingleton().addPathMapEntryPoint(ep);
+
 		stream->readLine(buffer, 500);
 	}
Index: /GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h
===================================================================
--- /GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h	(revision 2188)
+++ /GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h	(revision 2201)
@@ -206,4 +206,8 @@
 
       	Entity* sphere = mSceneMgr->createEntity("sphere", "head.mesh");
+		
+	//	Material* mat = (Material*) MaterialManager::getSingleton().getByName("GTP/Caustic/Glass").getPointer();
+	//	Material* newMat = mat->clone(mat->getName() + "_new").getPointer();
+
 		sphere->setMaterialName("GTP/Caustic/Glass");
 		sphereNode = rootNode->createChildSceneNode();
@@ -214,4 +218,7 @@
 
 		Entity* room = mSceneMgr->createEntity("room", "atlascube.mesh");
+	//	mat = (Material*) MaterialManager::getSingleton().getByName("TestPlane").getPointer();
+	//	newMat = mat->clone(mat->getName() + "_new").getPointer();
+
 		room->setMaterialName("TestPlane");
 		SceneNode *roomNode = rootNode->createChildSceneNode();
