source: GTP/trunk/App/Demos/Vis/KdTreeDemo/OGRE/include/TestKdTree.h @ 1204

Revision 1204, 2.1 KB checked in by szydlowski, 18 years ago (diff)

Demo mode complete, added command line parsing for easy benchmark scripting

Line 
1#ifndef __KdTreeApp_H__
2#define __KdTreeApp_H__
3
4#include <OgreRenderTargetListener.h>
5#include <ExampleApplication.h>
6#include <ivreader.h>
7#include "TestKdTreeAppListener.h"
8
9
10class KdTreeAppRenderTargetListener : public RenderTargetListener
11{
12public:
13        KdTreeAppRenderTargetListener(SceneManager *sceneMgr);
14
15protected:
16        void preViewportUpdate (const RenderTargetViewportEvent &evt);
17        void postRenderTargetUpdate (const RenderTargetEvent &evt);
18
19        SceneManager *mSceneMgr;
20
21        ShadowTechnique mSavedShadowTechnique;
22        ColourValue mSavedAmbientLight;
23};
24
25class KdTreeApp : public ExampleApplication
26{
27public:
28
29        KdTreeApp() :
30        mFrameListener(0),
31        mRenderTargerListener(0)
32        {
33
34        }
35
36        KdTreeApp(const KdTreeAppListener::Options& options) :
37        mFrameListener(0),
38        mRenderTargerListener(0),
39        mOptions(options)
40        {
41        }
42
43        ~KdTreeApp()
44        {
45                delete mRenderTargerListener;
46                delete mFrameListener;
47        }
48
49protected:
50        KdTreeAppListener *mFrameListener;
51        KdTreeAppRenderTargetListener *mRenderTargerListener;
52        SceneNode *mCamNode;
53        SceneNode *mMoveNode;
54        Camera *mTopCam;
55        //Camera *mFollowCam;
56
57        // scene options
58        String  mSceneFiles;
59        String  mSelectedSceneManager;
60        Real    mRotationRadius;
61        int             mModelSpacing;
62        int             mModelCount;
63        int             mRandomCount;
64        Real    mPlaneDim;
65        bool    mShadowsEnabled;
66        int             mSelectEntities;
67
68        KdTreeAppListener::Options mOptions;
69
70
71        virtual void setupResources(void);
72
73        virtual void createScene(void);
74
75        virtual void createFrameListener(void);
76       
77        virtual void chooseSceneManager(void);
78
79    virtual void createCamera(void);
80
81        virtual void createViewports(void);
82
83    /** Configures the application - returns false if the user chooses to abandon configuration. */
84    virtual bool configure(void);
85
86        /** load scene from file **/
87        bool loadScene(const String& filename);
88        bool loadSceneIV(const String &filename, SceneNode *root, const int index);
89
90        void createMaterials(void);
91private:
92        std::string cat(std::string name, int x, int z)
93        {
94                std::stringstream s;
95                s.fill('0');
96                s << name;
97                s.width(2);
98                s << x;
99                s.width(2);
100                s << z;
101                return s.str();
102        }
103};
104
105#endif
Note: See TracBrowser for help on using the repository browser.