Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Attributes

vl::Renderer Class Reference

The Renderer class executes the actual rendering on the given RenderQueue. More...

#include <Renderer.hpp>

Inheritance diagram for vl::Renderer:
vl::RendererAbstract vl::Object vl::EdgeRenderer vl::OcclusionCullRenderer

List of all members.

Public Member Functions

 Renderer ()
virtual ~Renderer ()
virtual const RenderQueuerender (const RenderQueue *in_render_queue, Camera *camera, real frame_clock)
 Takes as input the render queue to render and returns a possibly filtered render queue for further processing.
void setProjViewTransfCallback (ProjViewTransfCallback *callback)
const ProjViewTransfCallbackprojViewTransfCallback () const
ProjViewTransfCallbackprojViewTransfCallback ()
const std::map< unsigned int,
ref< Shader > > & 
shaderOverrideMask () const
 A bitmask/Shader map used to everride the Shader of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.
std::map< unsigned int, ref
< Shader > > & 
shaderOverrideMask ()
 A bitmask/Shader map used to everride the Shader of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.
bool isEnabled (unsigned int mask)
void setFramebuffer (Framebuffer *framebuffer)
 The Framebuffer on which the rendering is performed.
const Framebufferframebuffer () const
 The Framebuffer on which the rendering is performed.
Framebufferframebuffer ()
 The Framebuffer on which the rendering is performed.

Protected Attributes

ref< FramebuffermFramebuffer
vl::ref< EnableSetmDummyEnables
vl::ref< RenderStateSetmDummyStateSet
std::map< unsigned int, ref
< Shader > > 
mShaderOverrideMask
ref< ProjViewTransfCallbackmProjViewTransfCallback

Detailed Description

The Renderer class executes the actual rendering on the given RenderQueue.

See also:
Rendering

Definition at line 47 of file Renderer.hpp.


Constructor & Destructor Documentation

Renderer::Renderer (  )
virtual vl::Renderer::~Renderer (  ) [inline, virtual]

Definition at line 54 of file Renderer.hpp.


Member Function Documentation

const RenderQueue * Renderer::render ( const RenderQueue in_render_queue,
Camera camera,
real  frame_clock 
) [virtual]

Takes as input the render queue to render and returns a possibly filtered render queue for further processing.

Renderer's implementation of this function always returns in_render_queue.

Implements vl::RendererAbstract.

Reimplemented in vl::EdgeRenderer, and vl::OcclusionCullRenderer.

Definition at line 85 of file Renderer.cpp.

References vl::Viewport::activate(), vl::OpenGLContext::applyEnables(), vl::OpenGLContext::applyRenderStates(), vl::GLSLProgram::applyUniformSet(), vl::OpenGLContext::areUniformsColliding(), vl::RenderQueue::at(), vl::OpenGLContext::bindVAS(), vl::Actor::dispatchOnActorRenderStarted(), vl::Scissor::enable(), vl::Actor::enableMask(), vl::RendererAbstract::enableMask(), vl::Log::error(), framebuffer(), vl::ref< T >::get(), vl::Shader::getEnableSet(), vl::Shader::getRenderStateSet(), vl::Actor::getUniformSet(), vl::Shader::getUniformSet(), vl::GLSLProgram::getUniformSet(), vl::RenderStateSet::glslProgram(), vl::Shader::glslProgram(), vl::GLSLProgram::handle(), vl::Has_Fixed_Function_Pipeline, vl::Viewport::height(), vl::OpenGLContext::isCleanState(), isEnabled(), vl::GLSLProgram::linked(), vl::RenderToken::mActor, mDummyEnables, mDummyStateSet, vl::RenderToken::mNextPass, vl::RenderToken::mRenderable, vl::RenderToken::mShader, mShaderOverrideMask, NULL, vl::Framebuffer::openglContext(), projViewTransfCallback(), vl::Renderable::render(), vl::Shader::scissor(), vl::Actor::scissor(), vl::Viewport::setClearFlags(), vl::RenderQueue::size(), vl::Actor::transform(), vl::UniformSet::uniforms(), vl::ProjViewTransfCallback::updateMatrices(), vl::Camera::viewport(), VL_CHECK, VL_CHECK_OGL, VL_TRAP, vl::Viewport::width(), vl::Viewport::x(), and vl::Viewport::y().

void vl::Renderer::setProjViewTransfCallback ( ProjViewTransfCallback callback ) [inline]

Definition at line 60 of file Renderer.hpp.

const ProjViewTransfCallback* vl::Renderer::projViewTransfCallback (  ) const [inline]

Definition at line 62 of file Renderer.hpp.

Referenced by render(), and vl::OcclusionCullRenderer::render_pass2().

ProjViewTransfCallback* vl::Renderer::projViewTransfCallback (  ) [inline]

Definition at line 64 of file Renderer.hpp.

const std::map<unsigned int, ref<Shader> >& vl::Renderer::shaderOverrideMask (  ) const [inline]

A bitmask/Shader map used to everride the Shader of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.

Definition at line 67 of file Renderer.hpp.

std::map<unsigned int, ref<Shader> >& vl::Renderer::shaderOverrideMask (  ) [inline]

A bitmask/Shader map used to everride the Shader of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.

Definition at line 70 of file Renderer.hpp.

bool vl::Renderer::isEnabled ( unsigned int  mask ) [inline]

Definition at line 72 of file Renderer.hpp.

Referenced by render(), and vl::EdgeRenderer::render().

void vl::Renderer::setFramebuffer ( Framebuffer framebuffer ) [inline]

The Framebuffer on which the rendering is performed.

Definition at line 75 of file Renderer.hpp.

const Framebuffer* vl::Renderer::framebuffer (  ) const [inline, virtual]

The Framebuffer on which the rendering is performed.

Implements vl::RendererAbstract.

Reimplemented in vl::OcclusionCullRenderer.

Definition at line 78 of file Renderer.hpp.

Referenced by render(), vl::EdgeRenderer::render(), vl::EdgeRenderer::renderLines(), vl::EdgeRenderer::renderSolids(), and vl::Applet::resizeEvent().

Framebuffer* vl::Renderer::framebuffer (  ) [inline, virtual]

The Framebuffer on which the rendering is performed.

Implements vl::RendererAbstract.

Reimplemented in vl::OcclusionCullRenderer.

Definition at line 81 of file Renderer.hpp.


Member Data Documentation

Definition at line 84 of file Renderer.hpp.

Definition at line 87 of file Renderer.hpp.

Referenced by render(), vl::OcclusionCullRenderer::render_pass2(), and Renderer().

Definition at line 88 of file Renderer.hpp.

Referenced by render(), vl::OcclusionCullRenderer::render_pass2(), and Renderer().

std::map<unsigned int, ref<Shader> > vl::Renderer::mShaderOverrideMask [protected]

Definition at line 90 of file Renderer.hpp.

Referenced by render().

Definition at line 92 of file Renderer.hpp.

Referenced by Renderer().


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

Visualization Library v2011.09.1160 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Tue Sep 27 2011 15:20:27.
Permission is granted to use this page to write and publish articles regarding Visualization Library.