Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityTerrainSceneManager.h
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityTerrainSceneManager.h	(revision 726)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityTerrainSceneManager.h	(revision 865)
@@ -11,4 +11,5 @@
 #include "OgrePlatformQueryManager.h"
 #include "VisibilityManager.h"
+
 
 namespace Ogre {
@@ -55,11 +56,13 @@
 	virtual void renderObjects(const RenderPriorityGroup::TransparentRenderablePassList& objs, 
             bool doLightIteration, const LightList* manualLightList = 0);
+
 	/** Writes out stats into the Ogre log file.
 	*/
 	void WriteLog();
 
-	/** We override this because we want to include the z-fail pass. 
+	/** Override pass so we can do the z-fail pass. 
 	*/
 	Pass* setPass(Pass* pass);
+
 	/** Override from SceneManager so we can skip all but first pass for depth pass. 
 	*/
@@ -114,4 +117,6 @@
 	void InitVisibilityCulling(Camera *cam);
 
+
+
 	/// the interface to the scene hierarchy.
 	OctreeHierarchyInterface *mHierarchyInterface;
@@ -156,4 +161,5 @@
 	int mLeavePassesInQueue;
 
+
 	/// if transparent object are considered for item buffer visibility
 	bool mRenderTransparentsForItemBuffer;
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityOctreeSceneManager.h
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityOctreeSceneManager.h	(revision 863)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreVisibilityOctreeSceneManager.h	(revision 865)
@@ -9,4 +9,5 @@
 
 #include "OgreOctreeHierarchyInterface.h"
+#include "OgrePlatformQueryManager.h"
 #include "VisibilityManager.h"
 
@@ -67,12 +68,18 @@
 	*/
 	bool validatePassForRendering(Pass* pass);
-
+	/** This function renders renderables using false color ids.
+	*/
 	void RenderItemBuffer(RenderPriorityGroup* pGroup);
+	/** Renders a single object using false color id.
+	*/
 	void RenderSingleObjectForItemBuffer(Renderable *rend, Pass *pass);
+	/** Overritten from scene manager to include the false color id rendering of the
+		scene objects.
+	*/
 	void renderQueueGroupObjects(RenderQueueGroup* pGroup);
 
 	/** Override from SceneManager so that sub entities can be assigned an id for item buffer.
 	*/
-	//Entity* createEntity(const String& entityName, const String& meshName);
+	Entity* createEntity(const String& entityName, const String& meshName);
 
 	/** Returns pointer to visibility manager.
@@ -85,4 +92,6 @@
 
 	void renderAdditiveStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup);
+	/** Override this because we must handle shadows differently.
+	*/
 	void renderModulativeStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup);
 
@@ -122,10 +131,10 @@
 	bool mRenderNodesContentForViz;
 
-	/// render transparents after the hierarchical traversal
+	/// if we render transparents after the hierarchical traversal
 	bool mDelayRenderTransparents;
 
-	/// use a depth pass (i.e., fill only the depth buffer in the first pass)
+	/// if we use a depth pass (i.e., fill only the depth buffer in the first pass)
 	bool mUseDepthPass;
-	/// flag indicating if we currently render the depth pass
+	/// if we currently rendering the depth pass
 	bool mIsDepthPassPhase;
 
@@ -155,4 +164,6 @@
 
 	bool mIsHierarchicalCulling;
+
+	std::ofstream mDummyLog;
 };
 
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityTerrainSceneManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityTerrainSceneManager.cpp	(revision 726)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityTerrainSceneManager.cpp	(revision 865)
@@ -9,5 +9,5 @@
 #include <OgreEntity.h>
 #include <OgreSubEntity.h>
-
+#include <OgreConfigFile.h>
 
 // normal terrain rendering
@@ -62,9 +62,7 @@
 
         mDepthPass = depthMat->getTechnique(0)->getPass(0);
-
 		mDepthPass->setColourWriteEnabled(false);
 		mDepthPass->setDepthWriteEnabled(true);
 		mDepthPass->setLightingEnabled(false);
-		//mDepthPass->setDepthCheckEnabled(true);
 	}
 	else
@@ -290,6 +288,8 @@
 	
 		if (mShowVisualization) 
+		{
 			// disable illumination stage to prevent rendering shadows
 			mIlluminationStage = IRS_NONE;
+		}
 
 		// standard rendering for shadow maps because of performance
@@ -300,5 +300,6 @@
 	else //-- the hierarchical culling algorithm
 	{ 
-		// from TerrainSceneManager
+		// this is also called in TerrainSceneManager: really
+                // nexessary?
 		mDestRenderSystem -> setLightingEnabled(false);
 
@@ -379,5 +380,5 @@
 	
 		OctreeSceneManager::_renderVisibleObjects();
-	}
+	} // hierarchical culling
 		
 	// HACK: set the new render level index, important to avoid cracks
@@ -389,5 +390,5 @@
 
 	getRenderQueue()->clear(); // finally clear render queue
-	if (0) OGRE_DELETE(mRenderQueue); // HACK: should rather only be cleared ...
+	if (1) OGRE_DELETE(mRenderQueue); // HACK: should rather only be cleared ...
 
 	if (0) WriteLog(); // write out stats
@@ -594,5 +595,5 @@
 	if (NORMAL_RENDER_HACK || !mIsItemBufferPhase)
 	{
-		SceneManager::renderQueueGroupObjects(pGroup);
+		OctreeSceneManager::renderQueueGroupObjects(pGroup);
 		return;
 	}
@@ -639,4 +640,5 @@
 				std::stringstream d; d << "itembuffer, pass name: " << 
 				ipass->first->getParent()->getParent()->getName();
+				
 				LogManager::getSingleton().logMessage(d.str());
 			}
@@ -726,4 +728,6 @@
 	mIsDepthPassPhase = mUseDepthPass;
 
+	mIsHierarchicalCulling = true; // during hierarchical culling
+
 	// item buffer needs full ambient lighting to use item colors as unique id
 	if (mUseItemBuffer) 
@@ -737,4 +741,5 @@
 	// for rendering AFTER hierarchical culling, i.e., passes which need 
 	// a special rendering order
+	
 	mLeavePassesInQueue = 0;
 
@@ -752,4 +757,5 @@
 			// just render ambient stuff
 			mIlluminationStage = IRS_AMBIENT;
+			getRenderQueue()->setSplitPassesByLightingType(true);
 		}
 	
@@ -837,5 +843,5 @@
 		}
 	}
-	else
+	else // render the rest of the passes
 	{
 		OctreeSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(pGroup);
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp	(revision 863)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp	(revision 865)
@@ -752,6 +752,4 @@
 									   mLeavePassesInQueue);
 		
-	std::stringstream d; d << "leave passes in queue: " << mLeavePassesInQueue;
-	LogManager::getSingleton().logMessage(d.str());
 }
 //-----------------------------------------------------------------------
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityOctreeSceneManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityOctreeSceneManager.cpp	(revision 726)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilityOctreeSceneManager.cpp	(revision 865)
@@ -11,10 +11,13 @@
 #include <OgreConfigFile.h>
 
+// normal terrain rendering
+const static NORMAL_RENDER_HACK = false;
+
 namespace Ogre {
 
 //-----------------------------------------------------------------------
 VisibilityOctreeSceneManager::VisibilityOctreeSceneManager(
-	GtpVisibility::VisibilityManager *visManager)
-: 
+	GtpVisibility::VisibilityManager *visManager):
+OctreeSceneManager(),
 mVisibilityManager(visManager), 
 mShowVisualization(false),
@@ -37,7 +40,10 @@
 	mHierarchyInterface = new OctreeHierarchyInterface(this, mDestRenderSystem);
 		
-	//mDisplayNodes = true;
-	//mShowBoundingBoxes = true;
-	//mShowBoxes = true;
+	if (0)
+	{
+		mDisplayNodes = true;
+		mShowBoundingBoxes = true;
+		mShowBoxes = true;
+	}
 
 	// TODO: set maxdepth to reasonable value
@@ -112,11 +118,13 @@
         // ignore
     }
+	// add bounding boxes of rendered objects
 	for (BoxList::iterator it = mBoxes.begin(); it != mBoxes.end(); ++it)
 {
 		getRenderQueue()->addRenderable(*it);
 	}
+	
 	if (mRenderNodesForViz || mRenderNodesContentForViz)
 	{
-		// change node material so it is better suited for visualization
+		// HACK: change node material so it is better suited for visualization
 		MaterialPtr nodeMat = MaterialManager::getSingleton().getByName("Core/NodeMaterial");
 		nodeMat->setAmbient(1, 1, 0);
@@ -128,7 +136,10 @@
 			if (mRenderNodesForViz)
 			{
-				if (((*it)->numAttachedObjects() > 0) && ((*it)->numChildren() == 0)
-					&& (*it)->getAttachedObject(0)->getMovableType() == "Entity")
+				// render the leaf nodes
+				if (((*it)->numAttachedObjects() > 0) && ((*it)->numChildren() == 0) && 
+					 (*it)->getAttachedObject(0)->getMovableType() == "Entity")
+				{
 				getRenderQueue()->addRenderable((*it));
+				}
 
 				// addbounding boxes instead of node itself
@@ -145,7 +156,17 @@
 Pass *VisibilityOctreeSceneManager::setPass(Pass* pass)
 {
+	if (NORMAL_RENDER_HACK)
+	{
+		return SceneManager::setPass(pass);
+	}
+
+	// TODO: setting vertex program is not efficient
+	//Pass *usedPass = ((mIsDepthPassPhase && !pass->hasVertexProgram()) ? mDepthPass : pass); 
+	
 	// set depth fill pass if we currently do not make an aabb occlusion query
-	Pass *usedPass = (mIsDepthPassPhase && !mHierarchyInterface->IsBoundingBoxQuery() ? 
-					  mDepthPass : pass);
+	const bool useDepthPass = 
+		(mIsDepthPassPhase && !mHierarchyInterface->IsBoundingBoxQuery());
+
+	Pass *usedPass = useDepthPass ? mDepthPass : pass;
 
 	IlluminationRenderStage savedStage = mIlluminationStage; 
@@ -158,6 +179,8 @@
 	}
 
-	//-- set vertex program of current pass in order to set correct depth
-	if (mIsDepthPassPhase && mExecuteVertexProgramForAllPasses && pass->hasVertexProgram())
+	// --- set vertex program of current pass in order to set correct depth
+	if (mExecuteVertexProgramForAllPasses && 
+		mIsDepthPassPhase && 
+		pass->hasVertexProgram())
     {
 		// add vertex program of current pass to depth pass
@@ -174,11 +197,11 @@
 		}
 	}
-	else if (mDepthPass->hasVertexProgram())
+	else if (mDepthPass->hasVertexProgram()) // reset vertex program
 	{
 		mDepthPass->setVertexProgram("");
 	}
 
-	// store depth write flag to reset later
-	bool IsDepthWrite = usedPass->getDepthWriteEnabled();
+	// save old depth write: needed for item buffer
+	const bool IsDepthWrite = usedPass->getDepthWriteEnabled();
 
 	// global option which enables / disables depth writes
@@ -187,7 +210,9 @@
 		usedPass->setDepthWriteEnabled(false);
 	}
-	//else if (mIsItemBufferPass) {usedPass = mItemBufferPass;}
-
+
+
+	//-- set actual pass here
 	Pass *result = SceneManager::setPass(usedPass);
+
 
 	// reset depth write
@@ -205,4 +230,10 @@
 void VisibilityOctreeSceneManager::_findVisibleObjects(Camera* cam, bool onlyShadowCasters)
 {
+	if (NORMAL_RENDER_HACK)
+	{
+		OctreeSceneManager::_findVisibleObjects(cam, onlyShadowCasters);
+		return;
+	}
+
 	//-- show visible scene nodes and octree bounding boxes from last frame
 	if (mShowVisualization)
@@ -223,5 +254,5 @@
 		}
 		// only shadow casters will be rendered in shadow texture pass
-		// mHierarchyInterface->SetOnlyShadowCasters(onlyShadowCasters);
+		if (0) mHierarchyInterface->SetOnlyShadowCasters(onlyShadowCasters);
 	}
 	
@@ -234,9 +265,11 @@
 void VisibilityOctreeSceneManager::_renderVisibleObjects()
 {
-	
-		//InitVisibilityCulling(mCameraInProgress);
-		//mVisibilityManager->ApplyVisibilityCulling();
-
-		if(1){
+	if (NORMAL_RENDER_HACK)
+	{
+		OctreeSceneManager::_renderVisibleObjects();
+
+		return;
+	}
+
 	InitDepthPass(); 	  // create material for depth pass
 	InitItemBufferPass(); // create material for item buffer pass
@@ -266,4 +299,8 @@
 	else //-- the hierarchical culling algorithm
 	{	
+		// this is also called in TerrainSceneManager: really
+                // nexessary?
+		mDestRenderSystem -> setLightingEnabled(false);
+
 		// don't render backgrounds for item buffer
 		if (mUseItemBuffer)
@@ -284,5 +321,5 @@
 
 		OctreeSceneManager::_renderVisibleObjects();
-
+		/////////////////////////////////////////////////
 
 #ifdef GTP_VISIBILITY_MODIFIED_OGRE
@@ -297,4 +334,6 @@
 		setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE);
 	
+		// exclude this queues from hierarchical rendering
+		setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE);
 
 		// set all necessary parameters for 
@@ -311,5 +350,6 @@
 		mVisibilityManager->ApplyVisibilityCulling();
 	
-		// delete remaining renderables from queue (all not in mLeavePassesInQueue)
+		// delete remaining renderables from queue:
+		// all which are not in mLeavePassesInQueue)
 #ifdef GTP_VISIBILITY_MODIFIED_OGRE
 		_deleteRenderedQueueGroups(mLeavePassesInQueue);
@@ -324,27 +364,32 @@
 		mLeavePassesInQueue = 0;
 
+#if 1	
 		// add visible nodes found by the visibility culling algorithm
 		if (mUseDepthPass)
 		{
-			for (NodeList::iterator it = mVisible.begin(); it != mVisible.end(); ++it)
+			NodeList::const_iterator it, it_end = mVisible.end();
+
+			//getRenderQueue()->clear();
+			for (it = mVisible.begin(); it != it_end; ++ it)
 			{
 				(*it)->_addToRenderQueue(mCameraInProgress, getRenderQueue(), false);
 			}
 		}
-	
-		//-- we render all remaining queue objects
-		// used for depth pass, transparents, overlay 
+#endif	
+		//-- now we can render all remaining queue objects
+		//-- used for depth pass, transparents, overlay
 		clearSpecialCaseRenderQueues();
+
 		OctreeSceneManager::_renderVisibleObjects();
 	
-	}   // hierarchical culling
+	} // hierarchical culling
 
 	// reset ambient light
 	setAmbientLight(savedAmbient);
-}	
+
 	getRenderQueue()->clear(); // finally clear render queue
-	OGRE_DELETE(mRenderQueue); // HACK: should be cleared before...
-	//WriteLog(); // write out stats
-
+	if (0) OGRE_DELETE(mRenderQueue); // HACK: should rather only be cleared ...
+
+	if (0) WriteLog(); // write out stats
 }
 
@@ -352,4 +397,10 @@
 void VisibilityOctreeSceneManager::_updateSceneGraph(Camera* cam)
 {
+	if (NORMAL_RENDER_HACK)
+	{
+		OctreeSceneManager::_updateSceneGraph(cam);
+		return;
+	}
+
 	mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface);
 	mHierarchyInterface->SetRenderSystem(mDestRenderSystem);
@@ -431,4 +482,5 @@
 		return true;
 	}
+
 	if (key == "UseArbQueries")
 	{
@@ -491,5 +543,5 @@
 	  << "Delay transparents: " << StringConverter::toString(mDelayRenderTransparents) << ", "
 	  << "Use optimization: " << StringConverter::toString(mHierarchyInterface->GetTestGeometryForVisibleLeaves()) << ", "
-	  << "Algorithm type: " << mVisibilityManager->GetCullingManagerType() << "\n"
+	  << "Algorithm type: " << mVisibilityManager->GetCullingManagerType() << ", "
 	  << "Hierarchy nodes: " << mNumOctants << ", " 
 	  << "Traversed nodes: " << mHierarchyInterface->GetNumTraversedNodes() << ", "
@@ -497,10 +549,6 @@
 	  << "Query culled nodes: " << mVisibilityManager->GetCullingManager()->GetNumQueryCulledNodes() << ", "
 	  << "Frustum culled nodes: " << mVisibilityManager->GetCullingManager()->GetNumFrustumCulledNodes() << ", "
-      << "Queries issued: " << mVisibilityManager->GetCullingManager()->GetNumQueriesIssued() << "\n";
-	  /*<< "avg. FPS: " << mCurrentViewport->getTarget()->getAverageFPS() << ", "
-	  << "best FPS: " << mCurrentViewport->getTarget()->getBestFPS() << ", "
-	  << "worst FPS: " << mCurrentViewport->getTarget()->getWorstFPS() << ", "
-	  << "best frame time: " <<	mCurrentViewport->getTarget()->getBestFrameTime() << ", "
-	  << "worst frame time: " << mCurrentViewport->getTarget()->getWorstFrameTime() << "\n";*/
+      << "Queries issued: " << mVisibilityManager->GetCullingManager()->GetNumQueriesIssued() << ", "
+	  << "Found objects: " << (int)mVisible.size() << "\n";
 
 	LogManager::getSingleton().logMessage(d.str());
@@ -512,7 +560,8 @@
 {
 	// for correct rendering, transparents must be rendered after hierarchical culling
-	if (!mSkipTransparents)
-	{
-		OctreeSceneManager::renderObjects(objs, doLightIteration, manualLightList);
+	// => do nothing
+	if (NORMAL_RENDER_HACK || !mSkipTransparents)
+	{
+		SceneManager::renderObjects(objs, doLightIteration, manualLightList);
 	}
 }
@@ -520,9 +569,20 @@
 bool VisibilityOctreeSceneManager::validatePassForRendering(Pass* pass)
 {
+	if (NORMAL_RENDER_HACK)
+	{
+		return SceneManager::validatePassForRendering(pass);
+	}
+
 	// skip all but first pass if we are doing the depth pass
-	if ((mIsDepthPassPhase || mIsItemBufferPhase) && pass->getIndex() > 0)
+	if ((mIsDepthPassPhase || mIsItemBufferPhase) && (pass->getIndex() > 0))
 	{
 		return false;
 	}
+	// all but first pass
+	/*else if ((!mIsDepthPassPhase || mIsItemBufferPhase) && (pass->getIndex() != 0))
+	{
+		return false;
+	}*/
+
 	return SceneManager::validatePassForRendering(pass);
 }
@@ -530,5 +590,5 @@
 void VisibilityOctreeSceneManager::renderQueueGroupObjects(RenderQueueGroup* pGroup)
 {
-	if (!mIsItemBufferPhase)
+	if (NORMAL_RENDER_HACK || !mIsItemBufferPhase)
 	{
 		OctreeSceneManager::renderQueueGroupObjects(pGroup);
@@ -536,5 +596,5 @@
 	}
 
-	//-- renders item buffer
+	//-- item buffer: render objects using false colors
 
     // Iterate through priorities
@@ -562,5 +622,5 @@
 			continue;
 
-		// Render only first pass
+		// Render only first pass of renderable as false color
 		if (ipass->first->getIndex() > 0)
 			continue;
@@ -573,8 +633,11 @@
 		for (irend = rendList->begin(); irend != irendend; ++irend)
 		{
+			if (0)
+			{
 			std::stringstream d; d << "itembuffer, pass name: " << 
 				ipass->first->getParent()->getParent()->getName();
 				
 			LogManager::getSingleton().logMessage(d.str());
+			}
 			
 			RenderSingleObjectForItemBuffer(*irend, ipass->first);
@@ -582,5 +645,5 @@
 	}
 
-	//-- TRANSPARENT LOOP: must be handled differently 
+	//-- TRANSPARENT LOOP: must be handled differently from solids
 
 	// transparents are treated either as solids or completely discarded
@@ -645,5 +708,5 @@
 
 
-	// Render a single object, this will set up auto params if required
+	// render a single object, this will set up auto params if required
 	renderSingleObject(rend, usedPass, false, &nullLightList);
 }
@@ -678,5 +741,5 @@
 	mLeavePassesInQueue = 0;
 
-	if (0 && !mUseDepthPass && !mUseItemBuffer)
+	if (!mUseDepthPass && !mUseItemBuffer)
 	{
 		if (mShadowTechnique == SHADOWTYPE_STENCIL_ADDITIVE)
@@ -689,5 +752,5 @@
 			mLeavePassesInQueue |= RenderPriorityGroup::TRANSPARENT_PASSES;
 
-			// just render ambient passes
+			// just render ambient stuff
 			mIlluminationStage = IRS_AMBIENT;
 			getRenderQueue()->setSplitPassesByLightingType(true);
@@ -708,8 +771,8 @@
 	}
 
-	// skip rendering transparents in the hierarchical culling
+	// skip rendering transparents during the hierarchical culling
 	// (because they will be rendered afterwards)
-	mSkipTransparents = mUseDepthPass || 
-		(mLeavePassesInQueue & RenderPriorityGroup::TRANSPARENT_PASSES);
+	mSkipTransparents = 
+		(mIsDepthPassPhase || (mLeavePassesInQueue & RenderPriorityGroup::TRANSPARENT_PASSES));
 
 	// -- initialise interface for rendering traversal of the hierarchy
@@ -721,6 +784,4 @@
 							mLeavePassesInQueue);
 		
-	std::stringstream d; d << "leave passes in queue: " << mLeavePassesInQueue;
-	LogManager::getSingleton().logMessage(d.str());
 }
 //-----------------------------------------------------------------------
@@ -730,5 +791,22 @@
 }
 //-----------------------------------------------------------------------
-void VisibilityOctreeSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup)
+Entity* VisibilityOctreeSceneManager::createEntity(const String& entityName, 
+													const String& meshName)
+{
+	Entity *ent = SceneManager::createEntity(entityName, meshName);
+
+	for (int i = 0; i < (int)ent->getNumSubEntities(); ++i)
+	{
+		ent->getSubEntity(i)->setId(mCurrentEntityId);
+	}
+
+	// increase counter of entity id values
+	++ mCurrentEntityId;
+
+	return ent;
+}
+//-----------------------------------------------------------------------
+void VisibilityOctreeSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(
+	RenderQueueGroup* pGroup)
 {
 	// only render solid passes during hierarchical culling
Index: GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h	(revision 863)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h	(revision 865)
@@ -1,4 +1,4 @@
-#ifndef __RENDERER_H
-#define __RENDERER_H
+#ifndef __GLRENDERER_H
+#define __GLRENDERER_H
 
 #include <QtOpenGL>
@@ -144,5 +144,5 @@
 
 
-class GlRendererBuffer : public QObject, public QGLPixelBuffer,  public GlRenderer
+class GlRendererBuffer : public QObject, public QGLPixelBuffer, public GlRenderer
 {
 Q_OBJECT
Index: GTP/trunk/Lib/Vis/Preprocessing/src/common.h
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/common.h	(revision 863)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/common.h	(revision 865)
@@ -38,5 +38,7 @@
 //#pragma warning(disable:4244)
 
+#if 0 // $$$matt: comment this out because conflicts with definition in qt library!!
 typedef unsigned int uint;
+#endif
 typedef unsigned short ushort;
 typedef unsigned char uchar;
Index: GTP/trunk/Lib/Vis/shared/scripts/GtpVisibility.sln
===================================================================
--- GTP/trunk/Lib/Vis/shared/scripts/GtpVisibility.sln	(revision 850)
+++ GTP/trunk/Lib/Vis/shared/scripts/GtpVisibility.sln	(revision 865)
@@ -27,4 +27,8 @@
 	ProjectSection(ProjectDependencies) = postProject
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IVReader", "..\..\OnlineCullingCHC\IVReader\scripts\IVReader.vcproj", "{7319E499-473D-4CE5-9983-725D6E68A55D}"
+	ProjectSection(ProjectDependencies) = postProject
 	EndProjectSection
 EndProject
@@ -59,4 +63,8 @@
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.ActiveCfg = Release|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Release.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
