Public Member Functions | |
virtual void | init ()=0 |
virtual void | enqueue (Geometry *mesh)=0 |
virtual void | renderQueued ()=0 |
virtual void | render (Geometry *mesh)=0 |
virtual void | swapBuffers ()=0 |
virtual void | setShaderProgram (ShaderProgram *shader_program)=0 |
virtual bool | loadShaderProgram (ShaderProgram *shader_program, char *desc, char *prefix)=0 |
virtual void | unloadShaderProgram (ShaderProgram *shader_program)=0 |
virtual void | setAttributes (VertexArray *vertex_array)=0 |
virtual void | setUniform (Uniform *uniform)=0 |
virtual bool | getShaderHasUniform (ShaderProgram *shader_program, const char *name)=0 |
virtual bool | loadRenderTarget (RenderTarget *target, u32 n_textures, bool include_depth_buffer, bool include_stencil_buffer)=0 |
virtual void | unloadRenderTarget (RenderTarget *target)=0 |
virtual bool | shareDepthBuffer (RenderTarget *dst, RenderTarget *src)=0 |
virtual void | loadTexture (Texture *texture, u8 *pixels, u32 width, u32 height, TextureFormat_t format, bool generate_mipmaps, TextureFilter_t filter, TextureWrap_t wrap)=0 |
virtual void | unloadTexture (Texture *texture)=0 |
virtual void | loadCubeMap (CubeMap *cubemap, u8 **pixels, u32 width, u32 height, u32 bpp)=0 |
virtual void | unloadCubeMap (CubeMap *cubemap)=0 |
virtual void | loadVertexArray (VertexArray *vertex_array, void *new_array, u32 n, AttributeUsage_t usage)=0 |
virtual void | unloadVertexArray (VertexArray *vertex_array)=0 |
virtual void | reloadVertexArray (VertexArray *vertex_array, void *new_array, u32 n)=0 |
virtual void | loadIndexArray (VertexArray *vertex_array, void *new_array, u32 n, AttributeUsage_t usage)=0 |
virtual void | unloadIndexArray (VertexArray *vertex_array)=0 |
virtual void | reloadIndexArray (VertexArray *vertex_array, void *new_array, u32 n)=0 |
virtual void | setRenderState (RenderState *render_state)=0 |
virtual void | setViewport (i32 x, i32 y, u32 width, u32 height)=0 |
virtual void | getViewportDimensions (u32 *width, u32 *height)=0 |
virtual void | setRenderTarget (RenderTarget *target)=0 |
virtual void | setClearColor (vec4f color)=0 |
virtual void | setClearDepth (f32 depth)=0 |
virtual void | setClearStencil (i32 stencil)=0 |
virtual void | clearColor ()=0 |
virtual void | clearDepth ()=0 |
virtual void | clearStencil ()=0 |
virtual void | flush ()=0 |
virtual void | finish ()=0 |
virtual void | setMatrices (Camera *camera)=0 |
RendererLimits_t | getLimits () |
virtual void | endFrame ()=0 |
virtual void | produceScreenshot (char *filename)=0 |
virtual void | ensure ()=0 |
Protected Attributes | |
ShaderProgram * | active_shader_program |
RenderState * | active_render_state |
mat4f | world |
mat4f | worldInverse |
mat4f | view |
mat4f | viewInverse |
mat4f | projection |
mat4f | projectionInverse |
mat4f | viewProjection |
mat4f | viewProjectionInverse |
i32 | viewport_offset [2] |
u32 | viewport_size [2] |
bool | take_screenshot |
char | screenshot_filename [FILENAME_MAX-1] |
RendererLimits_t | limits |
RendererLimits_t Renderer::getLimits | ( | ) | [inline] |
Returns a _copy_ of the Renderer limits
virtual void Renderer::render | ( | Geometry * | mesh ) | [pure virtual] |
This renders the geometry node.
Implemented in RendererCudaTracer, and RendererGL.
virtual void Renderer::swapBuffers | ( | ) | [pure virtual] |
Called at the end of each set of renderings to draw the resulting frame buffer.
Implemented in RendererCudaTracer, and RendererGL.