Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::VolumeComponent Class Reference

#include <volumecomponent.h>

+ Inheritance diagram for inviwo::VolumeComponent:

Public Types

enum class  Gradients { None , Single , All }
 

Public Member Functions

 VolumeComponent (std::string_view name, Gradients gradients=Gradients::Single, Document help={})
 
virtual std::string_view getName () const override
 The name of the ShaderComponent. Will show up as the source of the line in the shaderwidget when the file is preprocessed and in error messages.
 
virtual void process (Shader &shader, TextureUnitContainer &cont) override
 Called from Processor::process Override to set uniforms, bind textures etc.
 
virtual std::vector< std::tuple< Inport *, std::string > > getInports () override
 Return all Inports and their port groups This gets called in Processor::registerComponents which will add them to the processor.
 
virtual std::vector< SegmentgetSegments () override
 Return all Segments to be injected into the shader. This gets called in VolumeRaycasterBase::initializeResources after the call to RaycasterComponent::initializeResources.
 
std::string getGradientString () const
 
std::optional< size_t > channelsForVolume () const
 
- Public Member Functions inherited from inviwo::ShaderComponent
virtual void initializeResources (Shader &shader)
 Called from Processor::initializeResources Override to set defines in the shader. This function will be called before the shader is compiled.
 
virtual std::vector< Property * > getProperties ()
 Return all Properties This gets called in Processor::registerComponents which will add them to the processor.
 

Public Attributes

VolumeInport volumePort
 
Gradients gradients
 

Detailed Description

Adds a Volume inport, binds that volume and assigns it the a sampler with <name> and sets the <name>Parameters uniforms It will sample the volume into <name>Voxel and keep the previous value in <name>VoxelPrev If Gradients::Single is set the gradient for channel will be computed into <name>Gradient, the previous gradient will be store in <name>GradientPrev. If Gradients::All is set the gradients for all channels will be computed into <name>AllGradients, the previous gradient will be store in <name>AllGradientsPrev

Member Function Documentation

◆ getInports()

virtual std::vector< std::tuple< Inport *, std::string > > inviwo::VolumeComponent::getInports ( )
overridevirtual

Return all Inports and their port groups This gets called in Processor::registerComponents which will add them to the processor.

Reimplemented from inviwo::ShaderComponent.

◆ getName()

virtual std::string_view inviwo::VolumeComponent::getName ( ) const
overridevirtual

The name of the ShaderComponent. Will show up as the source of the line in the shaderwidget when the file is preprocessed and in error messages.

Implements inviwo::ShaderComponent.

◆ getSegments()

virtual std::vector< Segment > inviwo::VolumeComponent::getSegments ( )
overridevirtual

Return all Segments to be injected into the shader. This gets called in VolumeRaycasterBase::initializeResources after the call to RaycasterComponent::initializeResources.

Reimplemented from inviwo::ShaderComponent.

◆ process()

virtual void inviwo::VolumeComponent::process ( Shader & shader,
TextureUnitContainer & container )
overridevirtual

Called from Processor::process Override to set uniforms, bind textures etc.

Parameters
shaderin current use
containeradd any used TextureUnits here

Reimplemented from inviwo::ShaderComponent.


The documentation for this class was generated from the following file: