12#ifndef DRRSTAGE_H_6014714286
13#define DRRSTAGE_H_6014714286
16#include <Carna/Carna.h>
110 const std::unique_ptr< Details > pimpl;
125 const static unsigned int ROLE_INTENSITIES = 0;
243 virtual const std::string&
uniformName(
unsigned int role )
const override;
Defines Carna::base::HUV.
Defines Carna::presets::VolumeRenderingStage.
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.
Renders digital radiograph reconstructs of volume geometries in the scene.
float upperMultiplier() const
Tells . The parameters are described here.
static const base::HUV DEFAULT_UPPER_THRESHOLD
Holds default value for .
void setUpperMultiplier(float multiplier)
Sets to multiplier. The parameters are described here.
void setWaterAttenuation(float muWater)
Sets to muWater. The parameters are described here.
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...
float baseIntensity() const
Tells . The parameters are described here.
virtual ~DRRStage()
Deletes.
virtual unsigned int loadVideoResources() override
Loads video resources when rendering is triggered for the first time. Override this method if you nee...
void setUpperThreshold(base::HUV upper)
Sets to upper. The parameters are described here.
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.
DRRStage * clone() const override
Returns same RenderStage implementation with same configuration.
static const bool DEFAULT_RENDER_INVERSE
Holds default value for inverse rendering.
base::HUV upperThreshold() const
Tells . The parameters are described here.
virtual const base::ShaderProgram & acquireShader() override
Acquires the drr_accumulation shader from the base::ShaderManager.
void setRenderingInverse(bool inverse)
Sets whether the colors of the DRR should be inverse or not. The ray attenuation at a particular pixe...
static const base::HUV DEFAULT_LOWER_THRESHOLD
Holds default value for .
float waterAttenuation() const
Tells . The parameters are described here.
virtual void configureShader() override
Uploads the parameters to the shader.
void setLowerThreshold(base::HUV lower)
Sets to lower. The parameters are described here.
DRRStage(unsigned int geometryType)
Instantiates. The created stage will render such base::Geometry scene graph nodes,...
virtual void configureShader(const base::Renderable &) override
Does nothing.
static const float DEFAULT_WATER_ATTENUATION
Holds default value for .
base::HUV lowerThreshold() const
Tells . The parameters are described here.
virtual const std::string & uniformName(unsigned int role) const override
Maps ROLE_INTENSITIES to huVolume.
static const float DEFAULT_BASE_INTENSITY
Holds default value for .
static const float DEFAULT_UPPER_MULTIPLIER
Holds default value for .
void setBaseIntensity(float baseIntensity)
Sets to baseIntensity. The parameters are described here.
virtual void renderPass(const base::math::Matrix4f &viewTransform, base::RenderTask &rt, const base::Viewport &vp) override
Computes the digital radiograph reconstruct like described here.
bool isRenderingInverse() const
Tells whether ray attenuation at any particular pixel is inverse proportional to the brightness of th...
Defines abstract base class for rendering stages that render volume geometries in the scene.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.