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

Raycaster component for considering a light volume Adds a volume inport for a light volume. The light volume is bound as texture and used for volumetric illumination. More...

#include <lightvolumecomponent.h>

+ Inheritance diagram for inviwo::LightVolumeComponent:

Public Member Functions

 LightVolumeComponent (Processor &processor, std::string_view volumeName, std::string_view gradientName)
 
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 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 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< Property * > getProperties () override
 Return all Properties 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.
 
bool setUsedChannels (size_t channels)
 
- Public Member Functions inherited from inviwo::ShaderComponent

Detailed Description

Raycaster component for considering a light volume Adds a volume inport for a light volume. The light volume is bound as texture and used for volumetric illumination.

Member Function Documentation

◆ getInports()

virtual std::vector< std::tuple< Inport *, std::string > > inviwo::LightVolumeComponent::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::LightVolumeComponent::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.

◆ getProperties()

virtual std::vector< Property * > inviwo::LightVolumeComponent::getProperties ( )
overridevirtual

Return all Properties This gets called in Processor::registerComponents which will add them to the processor.

Reimplemented from inviwo::ShaderComponent.

◆ getSegments()

virtual std::vector< Segment > inviwo::LightVolumeComponent::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.

◆ initializeResources()

virtual void inviwo::LightVolumeComponent::initializeResources ( Shader & shader)
overridevirtual

Called from Processor::initializeResources Override to set defines in the shader. This function will be called before the shader is compiled.

Parameters
shaderin current use

Reimplemented from inviwo::ShaderComponent.

◆ process()

virtual void inviwo::LightVolumeComponent::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: