Public Member Functions | Protected Attributes

Renderer Class Reference

Inheritance diagram for Renderer:
RendererCudaTracer RendererGL

List of all members.

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

ShaderProgramactive_shader_program
RenderStateactive_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

Member Function Documentation

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.


The documentation for this class was generated from the following files:
 All Classes Functions