15#ifndef DRRSTAGE_H_6014714286
16#define DRRSTAGE_H_6014714286
113 const std::unique_ptr< Details > pimpl;
128 const static unsigned int ROLE_INTENSITIES = 0;
244 virtual const std::string&
uniformName(
unsigned int role )
const override;
Defines LibCarna::base::HUV.
Contains forward-declarations.
Defines LibCarna::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 float DEFAULT_BASE_INTENSITY
Holds default value for .
virtual void configureShader(const base::Renderable &) override
Does nothing.
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...
DRRStage(unsigned int geometryType)
Instantiates. The created stage will render such base::Geometry scene graph nodes,...
void setWaterAttenuation(float muWater)
Sets to muWater. The parameters are described here.
virtual unsigned int loadVideoResources() override
Loads video resources when rendering is triggered for the first time. Override this method if you nee...
virtual void renderPass(const base::math::Matrix4f &viewTransform, base::RenderTask &rt, const base::Viewport &vp) override
Computes the digital radiograph reconstruct like 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 width and height.
void setLowerThreshold(base::HUV lower)
Sets to lower. The parameters are described here.
void setUpperThreshold(base::HUV upper)
Sets to upper. The parameters are described here.
virtual const std::string & uniformName(unsigned int role) const override
Maps ROLE_INTENSITIES to huVolume.
bool isRenderingInverse() const
Tells whether ray attenuation at any particular pixel is inverse proportional to the brightness of th...
base::HUV upperThreshold() const
Tells . The parameters are described here.
base::HUV lowerThreshold() const
Tells . The parameters are described here.
float waterAttenuation() const
Tells . The parameters are described here.
virtual const base::ShaderProgram & acquireShader() override
Acquires the drr_accumulation shader from the base::ShaderManager.
virtual void configureShader() override
Uploads the parameters to the shader.
static const base::HUV DEFAULT_UPPER_THRESHOLD
Holds default value for .
void setUpperMultiplier(float multiplier)
Sets to multiplier. The parameters are described here.
static const float DEFAULT_WATER_ATTENUATION
Holds default value for .
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 float DEFAULT_UPPER_MULTIPLIER
Holds default value for .
void setBaseIntensity(float baseIntensity)
Sets to baseIntensity. The parameters are described here.
static const bool DEFAULT_RENDER_INVERSE
Holds default value for inverse rendering.
float baseIntensity() const
Tells . The parameters are described here.
static const base::HUV DEFAULT_LOWER_THRESHOLD
Holds default value for .
virtual ~DRRStage()
Deletes.
Defines abstract base class for rendering stages that render volume geometries in the scene.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.
Represents Hounsfield Units Values in , usually used in CT imaging.