2
#include "OgrePagingLandScapePrecompiledHeaders.h"
4
#include "OgrePagingLandScapePrerequisites.h"
6
#include "OgrePagingLandScapeOctreeCamera.h"
7
#include "OgrePagingLandScapeOctree.h"
8
#include "OgrePagingLandScapeOctreeNode.h"
9
#include "OgrePagingLandScapeOcclusionElement.h"
10
#include "OgrePagingLandScapeOcclusion.h"
12
#include "OgrePagingLandScapeOcclusionVisibilityData.h"
13
#include "OgrePagingLandScapeOcclusionTraversal.h"
14
#include "OgrePagingLandScapeOcclusionDebugTraversal.h"
16
#include "OgreDebugRectangle2D.h"
18
#ifdef _VISIBILITYDEBUG
23
//-----------------------------------------------------------------------
24
TreeOverlayDebug::TreeOverlayDebug(Occlusion& o, PagingLandScapeOctreeSceneManager *scnMgr):
29
//-----------------------------------------------------------------------
30
void TreeOverlayDebug::onTree(PagingLandScapeOctree& n, VisibleObjectsBoundsInfo * const visibleBounds) const
32
SimpleRenderable * const s = n.getRectangle2d(mScnMrg);
33
if (n.getNodeData (occlusion.mCurrentCam)->viewFrustumVisible)
35
if (n.getNodeData (occlusion.mCurrentCam)->queryVisible)
37
s->setMaterial ("BaseWhiteNoLightNoDepthCheck");
38
occlusion.mCurrentRenderQueue->addRenderable (s, s->getRenderQueueGroup ());
40
traverseChildren (n, visibleBounds);
44
s->setMaterial ("BaseRedNoLightNoDepthCheck");
45
occlusion.mCurrentRenderQueue->addRenderable (s, s->getRenderQueueGroup ());
50
s->setMaterial ("BaseGreenNoLightNoDepthCheck");
51
occlusion.mCurrentRenderQueue->addRenderable (s, s->getRenderQueueGroup ());
54
//-----------------------------------------------------------------------
55
void TreeOverlayDebug::onLeaf(PagingLandScapeOctreeNode& n, VisibleObjectsBoundsInfo * const visibleBounds) const
57
SimpleRenderable * const s = n.getRectangle2d(mScnMrg);
58
if(n.getNodeData (occlusion.mCurrentCam)->viewFrustumVisible)
60
if(n.getNodeData (occlusion.mCurrentCam)->queryVisible)
62
s->setMaterial ("BaseWhiteNoLightNoDepthCheck");
63
occlusion.mCurrentRenderQueue->addRenderable(s, s->getRenderQueueGroup ());
67
s->setMaterial ("BaseRedNoLightNoDepthCheck");
68
occlusion.mCurrentRenderQueue->addRenderable(s, s->getRenderQueueGroup ());
73
s->setMaterial ("BaseGreenNoLightNoDepthCheck");
74
occlusion.mCurrentRenderQueue->addRenderable(s, s->getRenderQueueGroup ());
78
#endif //_VISIBILITYDEBUG