00001 /* $Id:$ */ 00002 00003 #ifndef _GL_IRRAD_CACHE_RENDER_H 00004 #define _GL_IRRAD_CACHE_RENDER_H 00005 00006 #include <gra/render/RTRender.h> 00007 #include <gra/render/GLRender.h> 00008 00009 using namespace esg; 00010 using namespace gra; 00011 00012 00013 namespace gra { 00014 00021 class GLIrradCacheRender : public GLRender 00022 { 00023 protected: 00024 RTRender* rtrRender; 00025 00026 protected: 00033 virtual void _render(Shader& shader, 00034 FrameBuffer& fb, 00035 Camera& camera, 00036 Scene& scene); 00037 00038 public: 00048 GLIrradCacheRender(RTRender* rtr, 00049 int* stopFlag, 00050 bool useDisplayList = true) 00051 : GLRender(stopFlag, useDisplayList), rtrRender(rtr) {} 00052 00053 00057 virtual ~GLIrradCacheRender() { 00058 if (rtrRender) delete rtrRender; 00059 } 00060 }; 00061 00062 } // namespace 00063 00064 #endif