[2767] | 1 | #ifndef __VISUALIZATION_H
|
---|
| 2 | #define __VISUALIZATION_H
|
---|
| 3 |
|
---|
| 4 | #include "common.h"
|
---|
| 5 |
|
---|
| 6 |
|
---|
[2776] | 7 | namespace CHCDemoEngine
|
---|
[2767] | 8 | {
|
---|
| 9 |
|
---|
| 10 | class Bvh;
|
---|
[3062] | 11 | class PerspectiveCamera;
|
---|
[2767] | 12 | class Camera;
|
---|
| 13 | class RenderState;
|
---|
| 14 | class AxisAlignedBox3;
|
---|
[2796] | 15 | class GLUquadric;
|
---|
[2767] | 16 |
|
---|
| 17 |
|
---|
| 18 | /** Abstract class implementing a scene traversal for rendering.
|
---|
| 19 | */
|
---|
| 20 | class Visualization
|
---|
| 21 | {
|
---|
| 22 | public:
|
---|
[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] | 52 | protected:
|
---|
[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 |
---|