![]() |
Inviwo 0.9.12-pre
Inviwo documentation
|
A ShaderComponent that samples a TemporalVolume with time-dependent interpolation. More...
#include <modules/basegl/shadercomponents/temporalvolumecomponent.h>
Inheritance diagram for inviwo::TemporalVolumeComponent:Public Types | |
| enum class | Gradients : std::uint8_t { None , Single } |
| enum class | Interpolation : std::uint8_t { Nearest , Linear } |
Public Member Functions | |
| std::optional< size_t > | channelsForVolume () const |
| std::string | getGradientString () const |
| 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::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 std::vector< Property * > | getProperties () override |
| Return all Properties This gets called in Processor::registerComponents which will add them to the processor. | |
| virtual std::vector< Segment > | getSegments () override |
| Return all Segments to be injected into the shader. This gets called in VolumeRaycasterBase::initializeResources after the call to RaycasterComponent::initializeResources. | |
| virtual void | initializeResources (Shader &shader) override |
Called from Processor::initializeResources Override to set defines in the shader. This function will be called before the shader is compiled. | |
| virtual void | process (Shader &shader, TextureUnitContainer &cont) override |
| Called from Processor::process Override to set uniforms, bind textures etc. | |
| TemporalVolumeComponent (std::string_view name, Gradients gradients=Gradients::Single, Document help={}) | |
| TFData | tfData () |
Public Attributes | |
| TemporalVolume::Frame | frame |
| Gradients | gradients |
| OptionProperty< Interpolation > | interpolation |
| std::optional< Seconds > | last |
| BoolProperty | prefetch |
| IntSizeTProperty | prefetchAhead |
| DoubleProperty | time |
| TemporalVolumeInport | volumePort |
A ShaderComponent that samples a TemporalVolume with time-dependent interpolation.
The component adds a TemporalVolumeInport and samples the volume for the current time. When linear interpolation is enabled it uploads the two bracketing frames as 3D textures (<name> and <name>B) and blends them in the shader using <name>Blend, producing the same <name>Voxel, <name>VoxelPrev, and <name>Gradient symbols as the regular VolumeComponent so it can be combined with the standard RaycastingComponent.
It also owns the IsoTFProperty used for classification (operating in normalized TF space) and schedules background prefetching of upcoming frames.
|
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.
|
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.
|
overridevirtual |
Return all Properties This gets called in Processor::registerComponents which will add them to the processor.
Reimplemented from inviwo::ShaderComponent.
|
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.
|
overridevirtual |
Called from Processor::initializeResources Override to set defines in the shader. This function will be called before the shader is compiled.
| shader | in current use |
Reimplemented from inviwo::ShaderComponent.
|
overridevirtual |
Called from Processor::process Override to set uniforms, bind textures etc.
| shader | in current use |
| container | add any used TextureUnits here |
Reimplemented from inviwo::ShaderComponent.