source: trunk/VUT/OcclusionCullingSceneManager/include/OgreOcclusionCullingTerrainSceneManager.h @ 39

Revision 39, 1.8 KB checked in by mattausch, 19 years ago (diff)
Line 
1#ifndef _OcclusionCullingTerrainSceneManager_H__
2#define _OcclusionCullingTerrainSceneManager_H__
3
4#include <OgreSceneNode.h>
5#include <OgreOctreeSceneManager.h>
6#include <OgreTerrainSceneManager.h>
7#include <OgreOctreeSceneQuery.h>
8#include <OgreOctreeNode.h>
9#include <OgreOctreeCamera.h>
10
11#include "OgrePrerequisites.h"
12#include "OgreOcclusionCullingSceneTraverser.h"
13//#include "OgreSolidHalfBoundingBox.h"
14
15using namespace std;
16
17namespace Ogre {
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
34        /**
35                Class which implements a scene mangager which uses occlusion queries for culling occluded objects
36        */
37        class OcclusionCullingTerrainSceneManager: public TerrainSceneManager
38        {
39        public:
40                OcclusionCullingTerrainSceneManager();
41                ~OcclusionCullingTerrainSceneManager();
42       
43                //void _renderVisibleObjects(void);
44                //void _findVisibleObjects(Camera* cam, bool onlyShadowCasters);
45               
46                //void _updateSceneGraph(Camera* cam);
47
48                /** Sets the given option for the SceneManager
49                               @remarks
50                        Options are:
51                        "Algorithm", int *;                     
52                */
53               
54                virtual bool setOption( const String &, const void * );
55                /** Gets the given option for the Scene Manager.
56                @remarks
57                    See setOption
58                */
59                virtual bool getOption( const String &, void * );
60
61                bool getOptionValues( const String & key, StringVector &refValueList );
62                bool getOptionKeys( StringVector &refKeys );
63
64        protected:
65                OcclusionCullingSceneTraverser *mOcclusionCullingSceneTraverser;
66        };
67
68}
69#endif // OcclusionCullingTerrainSceneManager_H
Note: See TracBrowser for help on using the repository browser.