source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/Visualization.h @ 2796

Revision 2796, 1.4 KB checked in by mattausch, 17 years ago (diff)
Line 
1#ifndef __VISUALIZATION_H
2#define __VISUALIZATION_H
3
4#include "common.h"
5
6
7namespace CHCDemoEngine
8{
9
10class Bvh;
11class Camera;
12class RenderState;
13class AxisAlignedBox3;
14class GLUquadric;
15
16
17/** Abstract class implementing a scene traversal for rendering.
18*/
19class Visualization
20{
21public:
22       
23        Visualization(Bvh *bvh, Camera *camera, Camera *vizCamera, RenderState *renderState);
24
25        ~Visualization();
26
27        /** Renders the visualizatioin
28        */
29        void Render();
30        /** Sets the scene hierarchy.
31        */
32        void SetHierarchy(Bvh *bvh);
33        /** Sets the visualization camera.
34        */
35        void SetVizCamera(Camera *cam)  {mVizCamera = cam;}
36        /** Sets the currently used scene camera.
37        */
38        void SetCamera(Camera *cam)  {mCamera = cam;}
39        /** Sets the current render state
40        */
41        void SetRenderState(RenderState *state);
42        /** Sets the currentframe id
43        */
44        void SetFrameId(int frameId);
45
46protected:
47
48        /** Renders a camera frustum.
49        */
50        void RenderFrustum();
51        /** Renders the current view point.
52        */
53        void RenderViewPoint();
54
55
56        ////////////
57        //-- members
58
59        /// the current camera
60        Camera *mCamera;
61        /// the visualization camera
62        Camera *mVizCamera;
63        /// the root of the scene hierarchy
64        Bvh *mBvh;
65        /// the current render state
66        RenderState *mRenderState;
67        /// the current frame id
68        int mFrameId;
69
70        GLUquadric *mSphere;
71};
72
73}
74
75
76
77#endif // VISUALIZATION_H
Note: See TracBrowser for help on using the repository browser.