Index: GTP/trunk/App/Demos/Geom/Demo_LodTrees/main.cpp
===================================================================
--- GTP/trunk/App/Demos/Geom/Demo_LodTrees/main.cpp	(revision 1540)
+++ GTP/trunk/App/Demos/Geom/Demo_LodTrees/main.cpp	(revision 1561)
@@ -19,5 +19,5 @@
 // Distance values
 #define dist_min 300
-#define dist_max 700
+#define dist_max 900
 
 // Model name
@@ -41,4 +41,19 @@
 OverlayElement* mInfo;
 OverlayElement* mInfo2;
+OverlayElement* mHelp;
+
+char HelpString[]="(F1) Help\n"
+			"This demo shows an example of the LodTree model in action. The trees in the scene\n"
+			"are associated to a LodTree object that manage their level of detail of both the\n"
+			"trunk and the leaves. The level of detail of the objects depend on the distance to\n"
+			"the camera. When the camera goes away from them, the level of detail decreases, and\n"
+			"when the camera gets closer to them the level of detail increases to restore the\n"
+			"original geometry of the model.\n"
+			"The current level of detail can be seen in real-time in the top-left corner of the screen.\n"
+			"The level of detail begins to decrease at a certain distance of the forest, and stops\n"
+			"decreasing when the objects reach the their minimum LOD. This 'lodding' distance is\n"
+			"customizable from the source code of the demo.";
+
+char NoHelpString[]="(F1) Help\n";
 
 
@@ -107,5 +122,5 @@
 
 		static float lodfactorBefore = -1.0f;
-		if (fabsf(lodfactorBefore-lodfactor)>0.05f)
+		if (fabsf(lodfactorBefore-lodfactor)>0.1f)
 		{
 			myTrees->GoToLod(lodfactor);
@@ -141,4 +156,19 @@
 		if(mInputDevice->isKeyDown(Ogre::KC_RIGHT))
 		  mCamera->yaw(-mRotScale);
+
+		static bool newpush = true;
+		if (!mInputDevice->isKeyDown(Ogre::KC_F1))
+			newpush = true;
+
+		static bool showing_help = false;
+		if (mInputDevice->isKeyDown(Ogre::KC_F1) && newpush)
+		{
+			newpush = false;
+			if (showing_help = !showing_help)
+                mHelp->setCaption(HelpString);
+			else
+                mHelp->setCaption(NoHelpString);
+		}
+
 
 		if(mInputDevice->isKeyDown(Ogre::KC_ESCAPE))
@@ -230,4 +260,5 @@
         // Set ambient light
         mSceneMgr->setAmbientLight(ColourValue(0.4, 0.4, 0.4));
+		theCam->setNearClipDistance(0.1f);
 
         // Create a directional light
@@ -260,5 +291,5 @@
 
 		//Models
-        entity = mSceneMgr->createEntity(model_name, "../../../OgreStuff/media/GT/ML12m.mesh");
+        entity = mSceneMgr->createEntity(model_name, "../../../OgreStuff/media/GT/ML11.mesh");
 
 		ogreMesh = entity->getMesh().getPointer();
@@ -266,5 +297,5 @@
 		// load LOD info from the object
 		meshloader=new Geometry::GeoMeshLoader;
-		Geometry::Mesh *themesh = meshloader->load("../../../OgreStuff/media/GT/ML12m.mesh");
+		Geometry::Mesh *themesh = meshloader->load("../../../OgreStuff/media/GT/ML11.mesh");
 
 		if (!meshloader->GetLodStripsData())
@@ -284,12 +315,12 @@
 			bool istrunk = myTrees->GetLeavesSubMesh()!=submesh;
 			if (istrunk)
-				entity->getSubEntity(submesh)->setMaterialName("Examples/Populifolia/trunk");
+				entity->getSubEntity(submesh)->setMaterialName("Examples/ML11/trunk");
 			else
-				entity->getSubEntity(submesh)->setMaterialName("Examples/Populifolia/leaf");
+				entity->getSubEntity(submesh)->setMaterialName("Examples/ML11/leaf");
 		}
 
 		forest_center=Ogre::Vector3(150.0f,0.0f,0.0f);
-		for (int i=1; i<8; i++) // 20
-			for (int j=1; j<8; j++) // 20
+		for (int i=1; i<5; i++) // 20
+			for (int j=1; j<5; j++) // 20
 			{
 				char newTreeName[16]="";
@@ -301,7 +332,7 @@
 				auxnode->rotate(Ogre::Vector3(0,0,1),Ogre::Degree(rand()%360));
 				auxnode->rotate(Ogre::Vector3(1,0,0),Ogre::Radian(-3.14159f*0.5f),Ogre::Node::TS_WORLD);
-				float randomsepx = (float)((rand()%18)-9);
-				float randomsepy = (float)((rand()%12)-6);
-				auxnode->translate(i*30.0f+randomsepx,0.0f,-j*30.0f-randomsepx);
+				float randomsepx = (float)((rand()%38)-19);
+				float randomsepy = (float)((rand()%32)-12);
+				auxnode->translate(i*80.0f+randomsepx,0.0f,-j*80.0f-randomsepx);
 				auxent->setNormaliseNormals(true);
 			}
@@ -315,4 +346,6 @@
         mInfo = OverlayManager::getSingleton().getOverlayElement("Demo_LodStrips/Info_1");
 		mInfo2 = OverlayManager::getSingleton().getOverlayElement("Demo_LodStrips/Info_2");
+		mHelp = OverlayManager::getSingleton().getOverlayElement("Demo_LodStrips/Help");
+		mHelp->setCaption(NoHelpString);
 	    pOver->show();
 
