6#ifndef MASKRENDERINGSTAGE_H_6014714286
7#define MASKRENDERINGSTAGE_H_6014714286
10#include <Carna/Carna.h>
63 const std::unique_ptr< Details > pimpl;
83 explicit MaskRenderingStage(
unsigned int geometryType,
unsigned int maskRole = DEFAULT_ROLE_MASK );
136 virtual const std::string&
uniformName(
unsigned int role )
const override;
Defines Carna::presets::VolumeRenderingStage.
Represents a color. Objects from this class are copyable and assignable.
Defines logic for rendering frames from given scenes.
Invokes the rendering stages of the frame renderer successively.
Represents a Geometry object that has been queued into a RenderQueue. The object's model-view transfo...
Maintains an OpenGL texture sampler object. This class realizes the RAII-idiom.
Maintains an OpenGL shader program. Realizes the RAII-idiom.
Defines a rendering viewport. The viewport is a property of the current OpenGL context.
virtual void configureShader() override
Sets the border rendering mode and the rendering color.
static const base::Color DEFAULT_COLOR
Holds the default rendering color.
void setRenderBorders(bool borders)
Sets whether to render borders instead of regions.
virtual void configureShader(const base::Renderable &) override
Does nothing.
virtual void renderPass(const base::math::Matrix4f &viewTransform, base::RenderTask &rt, const base::Viewport &vp) override
Performs the mask rendering.
MaskRenderingStage * clone() const override
Returns same RenderStage implementation with same configuration.
virtual void createVolumeSamplers(const std::function< void(unsigned int, base::Sampler *) > ®isterSampler) override
Creates texture samplers for volume textures and uses registerSampler to assign them to the roles tha...
bool renderBorders() const
Tells whether borders are rendered instead of regions.
void setColor(const base::Color &color)
Sets the rendering color.
MaskRenderingStage(unsigned int geometryType, unsigned int maskRole=DEFAULT_ROLE_MASK)
Instantiates.
const base::Color & color() const
Tells the rendering color.
virtual unsigned int loadVideoResources() override
Loads video resources when rendering is triggered for the first time. Override this method if you nee...
virtual void reshape(base::FrameRenderer &fr, unsigned int width, unsigned int height) override
Orders this stage to reshape its buffers according to the specified dimensions.
static const unsigned int DEFAULT_ROLE_MASK
Holds the default value of maskRole.
virtual const std::string & uniformName(unsigned int role) const override
Maps maskRole to mask.
const unsigned int maskRole
Holds the role that mask volume data is expected to take when attached to base::Geometry nodes.
virtual ~MaskRenderingStage()
Deletes.
virtual const base::ShaderProgram & acquireShader() override
Acquires the mask_rendering shader from the base::ShaderManager.
Defines abstract base class for rendering stages that render volume geometries in the scene.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.