Index: GTP/trunk/App/Demos/Illum/Ogre/src/Moria/include/Moria.h
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/src/Moria/include/Moria.h	(revision 2334)
+++ GTP/trunk/App/Demos/Illum/Ogre/src/Moria/include/Moria.h	(revision 2344)
@@ -126,5 +126,5 @@
 		//mSceneMgr->setWorldGeometry(occlusion_cfg);
 		
-		//createPostproc();
+		createPostproc();
 
 		OgreIlluminationManager::getSingleton().setMainCamera(mCamera);
Index: GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h	(revision 2340)
+++ GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/include/CausticTest.h	(revision 2344)
@@ -55,4 +55,10 @@
 		this->app = app;
     }
+	void setAttr(SceneNode* lightNode, SceneNode* sphereNode, Light* l)
+	{
+		this->sphereNode = sphereNode;
+		this->lightNode = lightNode;
+		light = l;		
+	}
 	bool processUnbufferedKeyInput(const FrameEvent& evt)
     {
@@ -137,5 +143,22 @@
 	void LoadRes()
 	{
-		loadResources();
+		setupResources();
+		
+		MaterialManager::getSingleton().initialise();
+		
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("Bootstrap");
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("General");
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Basic");
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("PostProc");
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_EnvMap");
+		ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Caustic");
+
+		ResourceGroupManager::getSingleton().loadResourceGroup("Bootstrap");
+		ResourceGroupManager::getSingleton().loadResourceGroup("General");
+		ResourceGroupManager::getSingleton().loadResourceGroup("GTP_Basic");
+		ResourceGroupManager::getSingleton().loadResourceGroup("PostProc");
+		ResourceGroupManager::getSingleton().loadResourceGroup("GTP_EnvMap");
+		ResourceGroupManager::getSingleton().loadResourceGroup("GTP_Caustic");
+
 	}
 	void setupScene()
@@ -190,4 +213,19 @@
         mRoot->addFrameListener(&OgreIlluminationManager::getSingleton());		
 	}
+	setFrameListenerAttr()
+	{
+		((RaytraceDemoListener*) mFrameListener)->setAttr(mainLightNode, sphereNode, light);
+	}
+	void clearResources(void)
+	{
+		ResourceGroupManager::getSingleton().destroyResourceGroup("Bootstrap");
+		ResourceGroupManager::getSingleton().destroyResourceGroup("General");
+		ResourceGroupManager::getSingleton().destroyResourceGroup("GTP_Basic");
+		ResourceGroupManager::getSingleton().destroyResourceGroup("PostProc");
+		ResourceGroupManager::getSingleton().destroyResourceGroup("GTP_EnvMap");
+		ResourceGroupManager::getSingleton().destroyResourceGroup("GTP_Caustic");
+
+
+	}
 
 protected:
@@ -203,5 +241,4 @@
 	void loadResources(void)
 	{
-		
 		// Initialise, parse scripts etc
 		ResourceGroupManager::getSingleton().initialiseResourceGroup("Bootstrap");
Index: GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/src/CausticTest.cpp
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/src/CausticTest.cpp	(revision 2340)
+++ GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/src/CausticTest.cpp	(revision 2344)
@@ -49,12 +49,16 @@
 		   Root::getSingleton().removeFrameListener(&OgreIlluminationManager::getSingleton());
 		   Root::getSingleton()._getCurrentSceneManager()->clearScene();
+		   Root::getSingleton()._getCurrentSceneManager()->destroyAllParticleSystems();
 		   TextureManager::getSingleton().removeAll();
 		   MeshManager::getSingleton().removeAll();
 		   MaterialManager::getSingleton().removeAll();
-	   //}
-	   //if (framecount == 120)
-	   //{
+		   ParticleSystemManager::getSingleton().removeAllTemplates();
+		   app->clearResources();
+	   }
+	   if (framecount == 120)
+	   {
 		   app->LoadRes();
 		   app->setupScene();
+		   app->setFrameListenerAttr();
 	   }
       return result;     
