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

Revision 2788, 1.4 KB checked in by mattausch, 16 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;
14
15
16/** Abstract class implementing a scene traversal for rendering.
17*/
18class Visualization
19{
20public:
21       
22        Visualization(Bvh *bvh, Camera *camera, Camera *vizCamera, RenderState *renderState);
23
24        ~Visualization() {}
25
26        /** Renders the visualizatioin
27        */
28        void Render();
29        /** Sets the scene hierarchy.
30        */
31        void SetHierarchy(Bvh *bvh);
32        /** Sets the visualization camera.
33        */
34        void SetVizCamera(Camera *cam)  {mVizCamera = cam;}
35        /** Sets the currently used scene camera.
36        */
37        void SetCamera(Camera *cam)  {mCamera = cam;}
38        /** Sets the current render state
39        */
40        void SetRenderState(RenderState *state);
41        /** Sets the currentframe id
42        */
43        void SetFrameId(int frameId);
44
45protected:
46
47        /** Renders a camera frustum.
48        */
49        void RenderFrustum();
50        /** Renders a bounding box for visualization.
51        */
52        void RenderBox(const AxisAlignedBox3 &box);
53
54        void RenderViewPoint();
55
56
57        ////////////
58        //-- members
59
60        /// the current camera
61        Camera *mCamera;
62        /// the visualization camera
63        Camera *mVizCamera;
64        /// the root of the scene hierarchy
65        Bvh *mBvh;
66        /// the current render state
67        RenderState *mRenderState;
68        /// the current frame id
69        int mFrameId;
70};
71
72}
73
74
75
76#endif // VISUALIZATION_H
Note: See TracBrowser for help on using the repository browser.