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

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