Render.h

Go to the documentation of this file.
00001 /* $Id: Renderer.h,v 1.2 2002/12/05 15:05:48 cvs Exp $ */
00002 
00003 #ifndef __RENDER_H
00004 #define __RENDER_H
00005 
00006 #include <gra/GRAObject.h>
00007 #include <esg/SceneGraphObject.h>
00008 #include <gra/framebuffer/FrameBuffer.h>
00009 #include <esg/Intersector.h>
00010 #include <gra/shader/Shader.h>
00011 #include <gra/camera/Camera.h>
00012 #include <gra/scene/Scene.h>
00013 
00014 using namespace esg;
00015 
00016 namespace gra {
00017 
00025 class GRA_EXPORT Render : public GRAObject {
00026 protected:        
00027         int * _pStopFlag;
00028 
00029 protected:
00039         virtual void _render (Shader&      shader,
00040                               FrameBuffer& fb,
00041                               Camera&      camera,
00042                               Scene&       scene) = 0;
00043     
00044 public:
00050         Render (int* setStopFlag) : _pStopFlag(setStopFlag) {}
00051 
00055         virtual ~Render () {}
00056 
00066         virtual void renderScene (Shader&      shader,
00067                                   FrameBuffer& fb,
00068                                   Camera&      camera,
00069                                   Scene&       scene)
00070               {
00071                   if (scene.root()) _render(shader, fb, camera, scene);
00072               }
00073 };
00074 
00075 } // namespace
00076 
00077 #endif // __RENDER_H

Generated on Tue Nov 21 15:11:42 2006 for gra by  doxygen 1.4.6