Changeset 39 for trunk/VUT/OcclusionCullingSceneManager/include
- Timestamp:
- 04/05/05 17:39:03 (20 years ago)
- Location:
- trunk/VUT/OcclusionCullingSceneManager/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingSceneTraverser.h
r36 r39 30 30 }; 31 31 32 typedef pair<SceneNode *, HardwareOcclusionQuery *> query_pair;32 typedef pair<SceneNode *, HardwareOcclusionQuery *> QueryPair; 33 33 typedef priority_queue<SceneNode *, vector<SceneNode *>, myless<vector<SceneNode *>::value_type> > PriorityQueue; 34 typedef queue< query_pair> QueryQueue;34 typedef queue<QueryPair> QueryQueue; 35 35 /** 36 36 Class which implements a scene mangager which uses occlusion queries for culling occluded objects … … 100 100 //HACK 101 101 //unsigned int countSceneNodes(SceneNode *node); 102 v irtual void traverseNode( Camera *cam, SceneNode *node );102 void traverseNode( Camera *cam, SceneNode *node ); 103 103 /** Renders current scene node 104 104 @param cam current camera -
trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingTerrainSceneManager.h
r34 r39 16 16 17 17 namespace Ogre { 18 18 template <typename T> class octreeless 19 { 20 public: 21 myless(Camera *cam) { mCamera = cam; } 22 //bool operator() (HierarchyNode *v1, HierarchyNode *v2) const 23 bool operator() (T v1, T v2) const 24 { 25 v1->getCullBounds(&mAabb); 26 return mAabb->getSquaredViewDepth(mCamera) > v2->getSquaredViewDepth(mCamera); 27 } 28 29 private: 30 Camera *mCamera; 31 AxisAlignedBox mAabb; 32 }; 33 19 34 /** 20 35 Class which implements a scene mangager which uses occlusion queries for culling occluded objects -
trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingTerrainSceneTraverser.h
r36 r39 2 2 #define _OcclusionCullingTerrainSceneTraverser_H__ 3 3 4 #include "OgreOctree.h" 4 5 #include "OgreOcclusionCullingSceneTraverser.h" 5 6 … … 7 8 8 9 namespace Ogre { 10 void Octree::_getCullBounds( AxisAlignedBox *b ) 11 typedef pair<Octree *, HardwareOcclusionQuery *> OctreeQueryPair; 12 typedef priority_queue<Octree *, vector<Octree *>, myless<vector<Octree *>::value_type> > OctreePriorityQueue; 13 //typedef queue<QueryPair> QueryQueue; 9 14 10 15 class OcclusionCullingTerrainSceneTraverser: OcclusionCullingSceneTraverser 11 16 { 12 void traverseNode( Camera *cam, SceneNode *node ); 17 void renderScene( Camera *cam, Octree *root ); 18 void renderCullFrustum( Camera *cam ); 19 void pullUpVisibility( Octree *node ); 20 void traverseNode( Camera *cam, Octree *node ); 21 22 protected: 23 OctreePriorityQueue *mDistanceQueue; 13 24 }; 14 25
Note: See TracChangeset
for help on using the changeset viewer.