Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
The Rendering class collects all the information to perform the rendering of a scene. More...
#include <Rendering.hpp>
Public Member Functions | |
| virtual const char * | className () |
| Returns the name of the class. | |
| Rendering () | |
| Constructor. | |
| Rendering (const Rendering &other) | |
| Copy constructor. | |
| Rendering & | operator= (const Rendering &other) |
| Assignment operator. | |
| virtual void | render () |
| Executes the rendering. | |
| void | setRenderQueueSorter (RenderQueueSorter *render_queue_sorter) |
| The RenderQueueSorter used to perform the sorting of the objects to be rendered, if NULL no sorting is performed. | |
| RenderQueueSorter * | renderQueueSorter () |
| The RenderQueueSorter used to perform the sorting of the objects to be rendered, if NULL no sorting is performed. | |
| const std::vector< ref < Renderer > > & | renderers () const |
| The list of Renderers used to perform the rendering. | |
| std::vector< ref< Renderer > > & | renderers () |
| The list of Renderers used to perform the rendering. | |
| void | setRenderer (Renderer *renderer) |
| Uitlity function: clears the renderers() list and adds the specified one. | |
| const Renderer * | renderer () const |
| Utility function: returns the first renderer installed or NULL if none is found. | |
| Renderer * | renderer () |
| Utility function: returns the first renderer installed or NULL if none is found. | |
| void | setCamera (Camera *camera) |
| The Camera that defines the point of view and viewport to be used when rendering the scene. | |
| const Camera * | camera () const |
| The Camera that defines the point of view and viewport to be used when rendering the scene. | |
| Camera * | camera () |
| The Camera that defines the point of view and viewport to be used when rendering the scene. | |
| Collection< SceneManager > * | sceneManagers () |
| Returns the list of SceneManager[s] containing the Actor[s] to be rendered. | |
| const Collection< SceneManager > * | sceneManagers () const |
| Returns the list of SceneManager[s] containing the Actor[s] to be rendered. | |
| void | setTransform (Transform *transform) |
| The root of the Transform tree updated at every rendering frame. | |
| const Transform * | transform () const |
| The root of the Transform tree updated at every rendering frame. | |
| Transform * | transform () |
| The root of the Transform tree updated at every rendering frame. | |
| void | setEvaluateLOD (bool evaluate_lod) |
| Whether the Level-Of-Detail should be evaluated or not. | |
| bool | evaluateLOD () const |
| Whether the Level-Of-Detail should be evaluated or not. | |
| void | setShaderAnimationEnabled (bool animate_shaders) |
| Whether Shader::shaderAnimator()->updateShader() should be called or not. | |
| bool | shaderAnimationEnabled () const |
| Whether Shader::shaderAnimator()->updateShader() should be called or not. | |
| void | setCullingEnabled (bool enabled) |
| Whether the installed SceneManager[s] should perform Actor culling or not in order to maximize the rendering performances. | |
| bool | cullingEnabled () const |
| Whether the installed SceneManager[s] should perform Actor culling or not in order to maximize the rendering performances. | |
| void | setAutomaticResourceInit (bool enable) |
| Whether OpenGL resources such as textures and GLSL programs should be automatically initialized when first used. | |
| bool | automaticResourceInit () const |
| Whether OpenGL resources such as textures and GLSL programs should be automatically initialized before the rendering takes place. | |
| bool | nearFarClippingPlanesOptimized () const |
| Returns whether near/far planes optimization is enabled. | |
| void | setNearFarClippingPlanesOptimized (bool enabled) |
| Enabled/disables near/far planes optimization. | |
| const std::map< unsigned int, ref< Effect > > & | effectOverrideMask () const |
| A bitmask/Effect map used to everride the Effect of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0. | |
| std::map< unsigned int, ref < Effect > > & | effectOverrideMask () |
| A bitmask/Effect map used to everride the Effect of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0. | |
Protected Member Functions | |
| void | fillRenderQueue (ActorCollection *actor_list) |
| ActorCollection * | actorQueue () |
| RenderQueue * | renderQueue () |
Protected Attributes | |
| ref< RenderQueueSorter > | mRenderQueueSorter |
| ref< ActorCollection > | mActorQueue |
| ref< RenderQueue > | mRenderQueue |
| std::vector< ref< Renderer > > | mRenderers |
| ref< Camera > | mCamera |
| ref< Transform > | mTransform |
| ref< Collection< SceneManager > > | mSceneManagers |
| std::map< unsigned int, ref < Effect > > | mEffectOverrideMask |
| bool | mAutomaticResourceInit |
| bool | mCullingEnabled |
| bool | mEvaluateLOD |
| bool | mShaderAnimationEnabled |
| bool | mNearFarClippingPlanesOptimized |
The Rendering class collects all the information to perform the rendering of a scene.
The Rendering class performs the following steps:
To be included in the rendering an Actor must have an enableMask() and Effect::enableMask() such that "(Actor::enableMask() & Rendering::enableMask()) != 0" and "(Actor::effect()->enableMask() & Rendering::enableMask()) != 0".
| Rendering::Rendering | ( | ) |
Constructor.
| vl::Rendering::Rendering | ( | const Rendering & | other ) | [inline] |
Copy constructor.
| virtual const char* vl::Rendering::className | ( | ) | [inline, virtual] |
Returns the name of the class.
Reimplemented from vl::Object.
| void Rendering::render | ( | ) | [virtual] |
Executes the rendering.
Implements vl::RenderingAbstract.
| void vl::Rendering::setRenderQueueSorter | ( | RenderQueueSorter * | render_queue_sorter ) | [inline] |
The RenderQueueSorter used to perform the sorting of the objects to be rendered, if NULL no sorting is performed.
| RenderQueueSorter* vl::Rendering::renderQueueSorter | ( | ) | [inline] |
The RenderQueueSorter used to perform the sorting of the objects to be rendered, if NULL no sorting is performed.
The list of Renderers used to perform the rendering.
The output of one Renderer::render() operation will be fed as input for the next Renderer::render() operation.
The list of Renderers used to perform the rendering.
The output of one Renderer::render() operation will be fed as input for the next Renderer::render() operation.
| void vl::Rendering::setRenderer | ( | Renderer * | renderer ) | [inline] |
Uitlity function: clears the renderers() list and adds the specified one.
| const Renderer* vl::Rendering::renderer | ( | ) | const [inline] |
Utility function: returns the first renderer installed or NULL if none is found.
| Renderer* vl::Rendering::renderer | ( | ) | [inline] |
Utility function: returns the first renderer installed or NULL if none is found.
| void vl::Rendering::setCamera | ( | Camera * | camera ) | [inline] |
The Camera that defines the point of view and viewport to be used when rendering the scene.
| const Camera* vl::Rendering::camera | ( | ) | const [inline] |
The Camera that defines the point of view and viewport to be used when rendering the scene.
| Camera* vl::Rendering::camera | ( | ) | [inline] |
The Camera that defines the point of view and viewport to be used when rendering the scene.
| Collection<SceneManager>* vl::Rendering::sceneManagers | ( | ) | [inline] |
Returns the list of SceneManager[s] containing the Actor[s] to be rendered.
| const Collection<SceneManager>* vl::Rendering::sceneManagers | ( | ) | const [inline] |
Returns the list of SceneManager[s] containing the Actor[s] to be rendered.
| void vl::Rendering::setTransform | ( | Transform * | transform ) | [inline] |
| const Transform* vl::Rendering::transform | ( | ) | const [inline] |
| Transform* vl::Rendering::transform | ( | ) | [inline] |
| void vl::Rendering::setEvaluateLOD | ( | bool | evaluate_lod ) | [inline] |
Whether the Level-Of-Detail should be evaluated or not.
When disabled lod #0 is used.
| bool vl::Rendering::evaluateLOD | ( | ) | const [inline] |
Whether the Level-Of-Detail should be evaluated or not.
When disabled lod #0 is used.
| void vl::Rendering::setShaderAnimationEnabled | ( | bool | animate_shaders ) | [inline] |
Whether Shader::shaderAnimator()->updateShader() should be called or not.
| bool vl::Rendering::shaderAnimationEnabled | ( | ) | const [inline] |
Whether Shader::shaderAnimator()->updateShader() should be called or not.
| void vl::Rendering::setCullingEnabled | ( | bool | enabled ) | [inline] |
Whether the installed SceneManager[s] should perform Actor culling or not in order to maximize the rendering performances.
| bool vl::Rendering::cullingEnabled | ( | ) | const [inline] |
Whether the installed SceneManager[s] should perform Actor culling or not in order to maximize the rendering performances.
| void vl::Rendering::setAutomaticResourceInit | ( | bool | enable ) | [inline] |
Whether OpenGL resources such as textures and GLSL programs should be automatically initialized when first used.
Enabling this features forces VL to keep track of which resources are used for each rendering, which might slighly impact the rendering time, thus to obtain the maximum performances disable this option and manually initialize your textures and GLSL shaders.
| bool vl::Rendering::automaticResourceInit | ( | ) | const [inline] |
Whether OpenGL resources such as textures and GLSL programs should be automatically initialized before the rendering takes place.
| bool vl::Rendering::nearFarClippingPlanesOptimized | ( | ) | const [inline] |
Returns whether near/far planes optimization is enabled.
| void vl::Rendering::setNearFarClippingPlanesOptimized | ( | bool | enabled ) | [inline] |
Enabled/disables near/far planes optimization.
When enabled, the automatic near/far clipping planes optimization modifies the projection matrix of the current camera to minimize z-fighting artifacts. If later you disable this feature you might want to recompute the original projection matrix of the camera using the method vl::Camera::setProjectionAsPerspective().
A bitmask/Effect map used to everride the Effect of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.
A bitmask/Effect map used to everride the Effect of those Actors whose enable mask satisfy the following condition: (Actors::enableMask() & bitmask) != 0.
| void Rendering::fillRenderQueue | ( | ActorCollection * | actor_list ) | [protected] |
| ActorCollection* vl::Rendering::actorQueue | ( | ) | [inline, protected] |
| RenderQueue* vl::Rendering::renderQueue | ( | ) | [inline, protected] |
ref<RenderQueueSorter> vl::Rendering::mRenderQueueSorter [protected] |
ref<ActorCollection> vl::Rendering::mActorQueue [protected] |
ref<RenderQueue> vl::Rendering::mRenderQueue [protected] |
std::vector< ref<Renderer> > vl::Rendering::mRenderers [protected] |
ref<Camera> vl::Rendering::mCamera [protected] |
ref<Transform> vl::Rendering::mTransform [protected] |
ref<Collection<SceneManager> > vl::Rendering::mSceneManagers [protected] |
std::map<unsigned int, ref<Effect> > vl::Rendering::mEffectOverrideMask [protected] |
bool vl::Rendering::mAutomaticResourceInit [protected] |
bool vl::Rendering::mCullingEnabled [protected] |
bool vl::Rendering::mEvaluateLOD [protected] |
bool vl::Rendering::mShaderAnimationEnabled [protected] |
bool vl::Rendering::mNearFarClippingPlanesOptimized [protected] |