Carna
Version 3.0.1
|
Implements a geometry rendering stage that renders meshes. More...
#include <MeshRenderingStage.h>
Public Member Functions | |
MeshRenderingStage (unsigned int geometryType) | |
Instantiates. More... | |
MeshRenderingStage * | clone () const override |
Returns same RenderStage implementation with same configuration. More... | |
virtual void | renderPass (const math::Matrix4f &viewTransform, RenderTask &rt, const Viewport &vp) override |
Called once per pass. More... | |
![]() | |
GeometryStage (unsigned int geometryType, unsigned int geometryTypeMask=RenderQueue< RenderableCompare >::EXACT_MATCH_GEOMETRY_TYPE_MASK) | |
Instantiates s.t. the predefined rendering queue enqueues such Carna::base::Geometry scene graph nodes, whose geometry type AND-linked with geometryTypeMask equals the geometryType specified here. | |
virtual | ~GeometryStage () |
Releases acquired video resources. | |
virtual void | prepareFrame (Node &root) override |
Called once before each frame. More... | |
std::size_t | renderedPassesCount () const |
Tells the number of passes rendered so far since the beginning of the current frame. | |
template<typename GeometryFeatureType > | |
GeometryFeatureType::ManagedInterface & | videoResource (GeometryFeatureType &geometryFeature) const |
Interfaces the geometryFeature video resources that were acquired by this rendering stage. | |
template<typename GeometryFeatureType > | |
const GeometryFeatureType::ManagedInterface & | videoResource (const GeometryFeatureType &geometryFeature) const |
![]() | |
RenderStage () | |
Instantiates in enabled-state. | |
virtual | ~RenderStage () |
Deletes. | |
void | setViewTransformFixed (bool viewTransformFixed) |
Sets whether the view transform is pass-invariant for the duration of a single frame. More... | |
bool | isViewTransformFixed () const |
Tells whether the view transform is pass-invariant for the duration of a single frame. | |
virtual void | reshape (FrameRenderer &fr, unsigned int width, unsigned int height) |
Orders this stage to reshape its buffers according to the specified dimensions. More... | |
bool | isInitialized () const |
Tells whether this stage is ready for rendering. More... | |
bool | isEnabled () const |
Tells whether this stage is enabled. Disabled stages are not rendered by render tasks. | |
void | setEnabled (bool) |
Sets whether this stage is enabled. Disabled stages are not rendered by render tasks. | |
base::FrameRenderer & | renderer () |
References the renderer this stage belongs to. More... | |
const base::FrameRenderer & | renderer () const |
void | addRenderStageListener (RenderStageListener &listener) |
Adds listener to the set of listeners this instance notifies in \(\mathcal O\left(\log n\right)\). | |
void | removeRenderStageListener (RenderStageListener &listener) |
Removes listener from the set of listeners this instance notifies in \(\mathcal O\left(\log n\right)\). | |
![]() | |
MeshRenderingStageBase (unsigned int geometryType) | |
Instantiates. More... | |
virtual | ~MeshRenderingStageBase () |
Does nothing. | |
Protected Member Functions | |
virtual void | render (const Renderable &renderable) override |
Renders the renderable. More... | |
![]() | |
void | activateGLContext () const |
Ensures that the OpenGL context of the hosting Carna::base::FrameRenderer is the current one. | |
virtual void | buildRenderQueues (Node &root, const math::Matrix4f &viewTransform) |
Builds the rendering queues of this stage. | |
virtual void | rewindRenderQueues () |
Rewinds the rendering queues of this stage. | |
virtual void | updateRenderQueues (const math::Matrix4f &viewTransform) |
Recomputes the model-view transforms of the renderables enqueued by this stage. | |
Additional Inherited Members | |
![]() | |
const unsigned int | geometryType |
Renders such geometries whose type AND-linked with geometryTypeMask equals this. | |
const unsigned int | geometryTypeMask |
Renders such geometries whose type AND-linked with this equals geometryType. | |
![]() | |
const unsigned int | geometryType |
Holds the geometry type rendered by this MeshRenderingStage. | |
![]() | |
static const unsigned int | ROLE_DEFAULT_MESH = 0 |
Identifies the Mesh object that MeshRenderingStage uses for rendering. | |
static const unsigned int | ROLE_DEFAULT_MATERIAL = 1 |
Identifies the Material object that MeshRenderingStage uses for rendering. | |
![]() | |
RenderQueue< RenderableCompare > | rq |
Holds the predefined rendering queue of this rendering stage. | |
Implements a geometry rendering stage that renders meshes.
An instance of this rendering stage expects two features from the Geometry objects it processes:
Definition at line 108 of file MeshRenderingStage.h.
Carna::base::MeshRenderingStage< RenderableCompare >::MeshRenderingStage | ( | unsigned int | geometryType | ) |
Instantiates.
geometryType | is the geometry type rendered by this stage. |
Definition at line 139 of file MeshRenderingStage.h.
|
overridevirtual |
Returns same RenderStage
implementation with same configuration.
The listeners and the rendering state are not copied.
Implements Carna::base::RenderStage.
Definition at line 147 of file MeshRenderingStage.h.
|
overrideprotectedvirtual |
Renders the renderable.
Implements Carna::base::GeometryStage< RenderableCompare >.
Definition at line 166 of file MeshRenderingStage.h.
|
overridevirtual |
Called once per pass.
If this rendering stage maintains one or more Carna::base::RenderQueue objects, than this is the right place to build them. Note that the queues need to be rebuilt only once per frame and not per pass, unless isViewTransformFixed is false
. If it is true
and this is not the first invocation of this method since the last time prepareFrame was called, rewinding the queue will be sufficient.
Reimplemented from Carna::base::GeometryStage< RenderableCompare >.
Reimplemented in Carna::presets::TransparentRenderingStage.
Definition at line 157 of file MeshRenderingStage.h.
Documentation generated by Doxygen