18 #ifndef EQSEQUEL_RENDERER_H
19 #define EQSEQUEL_RENDERER_H
21 #include <co/objectFactory.h>
22 #include <seq/types.h>
54 SEQ_API
virtual bool init( co::Object* initData ) {
return true; }
65 SEQ_API
virtual bool exit() {
return true; }
78 SEQ_API
virtual bool initContext( co::Object* initData );
96 SEQ_API
virtual void clear( co::Object* frameData );
105 virtual void draw( co::Object* frameData ) = 0;
135 detail::Renderer* getImpl() {
return _impl; }
136 co::Object* getFrameData();
186 SEQ_API
virtual co::Object* createObject(
const uint32_t type );
187 SEQ_API
virtual void destroyObject( co::Object*
object,
188 const uint32_t type );
192 detail::Renderer*
const _impl;
196 #endif // EQSEQUEL_RENDERER_H
The main application object.
Renderer(Application &application)
Construct a new renderer.
virtual void draw(co::Object *frameData)=0
Render the scene.
The context applied to a channel during rendering operations.
virtual bool exitContext()
De-initialize an OpenGL context.
virtual void applyModelMatrix()
Apply the current model matrix to OpenGL.
const RenderContext & getRenderContext() const
virtual bool init(co::Object *initData)
Initialize the renderer.
const Frustumf & getFrustum() const
const GLEWContext * glewGetContext() const
Get the GLEW context for this renderer.
virtual ~Renderer()
Destruct this renderer.
virtual void destroyViewData(ViewData *viewData)
Delete the given view data.
Application & getApplication()
virtual ViewData * createViewData()
Create a new per-view data instance.
const Application & getApplication() const
const Matrix4f & getViewMatrix() const
virtual bool exit()
De-initialize the renderer.
virtual void clear(co::Object *frameData)
Clear the frame buffer.
virtual void applyRenderContext()
Apply the current rendering parameters to OpenGL.
const Matrix4f & getModelMatrix() const
virtual bool initContext(co::Object *initData)
Initialize an OpenGL context.