Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::TransmittanceMapComponent::Plugin Class Reference

#include <TransmittanceMapComponent.hpp>

Inheritance diagram for castor3d::TransmittanceMapComponent::Plugin:
Inheritance graph
[legend]
Collaboration diagram for castor3d::TransmittanceMapComponent::Plugin:
Collaboration graph
[legend]

Public Member Functions

PassComponentUPtr createComponent (Pass &pass) const override
 
void createParsers (castor::AttributeParsers &parsers, ChannelFillers &channelFillers) const override
 Fills the given lists with this component's parsers.
 
bool isComponentNeeded (TextureCombine const &textures, ComponentModeFlags const &filter) const override
 Tells if the component's lighting shaders are needed.
 
void createMapComponent (Pass &pass, castor::Vector< PassComponentUPtr > &result) const override
 Creates the map component.
 
bool isMapComponent () const override
 
shader::PassComponentsShaderPtr createComponentsShader () const override
 Creates the component's lighting shaders.
 
shader::PassMaterialShaderPtr createMaterialShader () const override
 Creates the component's material shaders.
 
void filterTextureFlags (ComponentModeFlags filter, TextureCombine &texturesFlags) const override
 Removes from given texture flags the ones that are useless given the provided filter.
 
PassComponentTextureFlag getTextureFlags () const override
 
void fillTextureConfiguration (TextureConfiguration &result, uint32_t mask) const override
 Fills the texture configuration for use with this component.
 
castor::String getTextureFlagsName (PassComponentTextureFlag const &flags) const override
 
C3D_API PassMapComponentPlugin (PassComponentRegister const &passComponent, UpdateComponent const &pupdateComponent=nullptr)
 
- Public Member Functions inherited from castor3d::PassMapComponentPlugin
C3D_API PassMapComponentPlugin (PassComponentRegister const &passComponent, UpdateComponent const &pupdateComponent=nullptr)
 
C3D_API void zeroBuffer (Pass const &pass, shader::PassMaterialShader const &materialShader, PassBuffer &buffer) const override
 Fills the material buffer with zero values fot the component data.
 
C3D_API bool writeTextureConfig (TextureConfiguration const &configuration, castor::String const &tabs, castor::StringStream &file) const override
 Writes the texture configuration for this component in a scene file.
 
- Public Member Functions inherited from castor3d::PassComponentPlugin
 PassComponentPlugin (PassComponentPlugin const &)=delete
 
PassComponentPluginoperator= (PassComponentPlugin const &)=delete
 
PassComponentPluginoperator= (PassComponentPlugin &&rhs) noexcept=delete
 
virtual C3D_API ~PassComponentPlugin ()=default
 
C3D_API PassComponentPlugin (PassComponentPlugin &&rhs) noexcept=default
 
C3D_API PassComponentPlugin (PassComponentRegister const &passComponents, UpdateComponent const &pupdateComponent=nullptr, FinishComponent const &pfinishComponent=nullptr)
 
virtual C3D_API void createSections (castor::StrUInt32Map &sections) const
 Fills the sections list with the ones created by this component.
 
virtual C3D_API void filterComponentFlags (ComponentModeFlags filter, PassComponentCombine &componentsFlags) const
 Removes from given component flags the ones that are useless given the provided filter.
 
virtual C3D_API PassComponentFlag getComponentFlags () const
 
virtual C3D_API PassComponentFlag getAlphaBlendingFlag () const
 
virtual C3D_API PassComponentFlag getAlphaTestFlag () const
 
virtual C3D_API PassComponentFlag getTransmissionFlag () const
 
virtual C3D_API PassComponentFlag getParallaxOcclusionMappingOneFlag () const
 
virtual C3D_API PassComponentFlag getParallaxOcclusionMappingRepeatFlag () const
 
virtual C3D_API PassComponentFlag getDeferredDiffuseLightingFlag () const
 
virtual C3D_API shader::PassReflRefrShaderPtr createReflRefrShader () const
 Creates the component's reflection and refraction shader.
 
PassComponentID getId () const
 
PassComponentRegister const & getRegister () const
 
virtual C3D_API bool isReflRefrComponent () const
 
virtual C3D_API bool replacesMapSampling () const
 
virtual C3D_API bool hasTexcoordModif (PassComponentRegister const &passComponents, PipelineFlags const *flags) const
 
TextureConfiguration getBaseTextureConfiguration () const
 
virtual C3D_API PassComponentTextureFlag getColourMapFlags () const
 
virtual C3D_API PassComponentTextureFlag getOpacityMapFlags () const
 
virtual C3D_API PassComponentTextureFlag getNormalMapFlags () const
 
virtual C3D_API PassComponentTextureFlag getHeightMapFlags () const
 
virtual C3D_API PassComponentTextureFlag getOcclusionMapFlags () const
 

Additional Inherited Members

- Public Attributes inherited from castor3d::PassComponentPlugin
FinishComponent finishComponent
 Applies component's transformations before lighting happens.
 
UpdateComponent updateComponent
 

Member Function Documentation

◆ createComponent()

PassComponentUPtr castor3d::TransmittanceMapComponent::Plugin::createComponent ( Pass & pass) const
inlineoverridevirtual

Creates a component for given pass.

Remarks
Doesn't add the component to the pass.
Parameters
[in]passThe pass.

Implements castor3d::PassComponentPlugin.

◆ createComponentsShader()

shader::PassComponentsShaderPtr castor3d::TransmittanceMapComponent::Plugin::createComponentsShader ( ) const
inlineoverridevirtual

Creates the component's lighting shaders.

Reimplemented from castor3d::PassComponentPlugin.

◆ createMapComponent()

void castor3d::TransmittanceMapComponent::Plugin::createMapComponent ( Pass & pass,
castor::Vector< PassComponentUPtr > & result ) const
overridevirtual

Creates the map component.

Parameters
[in]passTo check if the configuration for the component is there.
[in,out]resultReceives the created component.

Reimplemented from castor3d::PassComponentPlugin.

◆ createMaterialShader()

shader::PassMaterialShaderPtr castor3d::TransmittanceMapComponent::Plugin::createMaterialShader ( ) const
inlineoverridevirtual

Creates the component's material shaders.

Reimplemented from castor3d::PassComponentPlugin.

◆ createParsers()

void castor3d::TransmittanceMapComponent::Plugin::createParsers ( castor::AttributeParsers & parsers,
ChannelFillers & channelFillers ) const
overridevirtual

Fills the given lists with this component's parsers.

Parameters
[in,out]parsersReceives the parsers.
[in,out]channelFillersReceives the texture channels and the way to fill them.

Reimplemented from castor3d::PassComponentPlugin.

◆ fillTextureConfiguration()

void castor3d::TransmittanceMapComponent::Plugin::fillTextureConfiguration ( TextureConfiguration & configuration,
uint32_t mask ) const
inlineoverridevirtual

Fills the texture configuration for use with this component.

Parameters
configurationThe texture configuration.
maskThe mask value.

Reimplemented from castor3d::PassComponentPlugin.

References castor3d::addFlagConfiguration(), castor3d::eNormalised, and getTextureFlags().

Here is the call graph for this function:

◆ filterTextureFlags()

void castor3d::TransmittanceMapComponent::Plugin::filterTextureFlags ( ComponentModeFlags filter,
TextureCombine & texturesFlags ) const
inlineoverridevirtual

Removes from given texture flags the ones that are useless given the provided filter.

Reimplemented from castor3d::PassComponentPlugin.

References castor3d::checkFlag(), castor3d::eDiffuseLighting, castor3d::eSpecularLighting, getTextureFlags(), and castor3d::remFlags().

Here is the call graph for this function:

◆ getTextureFlags()

PassComponentTextureFlag castor3d::TransmittanceMapComponent::Plugin::getTextureFlags ( ) const
inlineoverridevirtual
Returns
The texture flags for this component.

Reimplemented from castor3d::PassComponentPlugin.

References castor3d::PassComponentPlugin::getId(), castor3d::makeTextureFlag(), and castor3d::TransmittanceMapComponent::Transmittance.

Referenced by fillTextureConfiguration(), and filterTextureFlags().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTextureFlagsName()

castor::String castor3d::TransmittanceMapComponent::Plugin::getTextureFlagsName ( PassComponentTextureFlag const & flags) const
inlineoverridevirtual
Returns
The texture flags concatenated names.

Reimplemented from castor3d::PassComponentPlugin.

References castor3d::checkFlag(), cuT, castor3d::PassComponentPlugin::getId(), castor3d::splitTextureFlag(), and castor3d::TransmittanceMapComponent::Transmittance.

Here is the call graph for this function:

◆ isComponentNeeded()

bool castor3d::TransmittanceMapComponent::Plugin::isComponentNeeded ( TextureCombine const & textures,
ComponentModeFlags const & filter ) const
overridevirtual

Tells if the component's lighting shaders are needed.

Parameters
[in]texturesTo check from texturing viewpoint.
[in,out]filterTo check from render pass viewpoint.

Reimplemented from castor3d::PassComponentPlugin.

◆ isMapComponent()

bool castor3d::TransmittanceMapComponent::Plugin::isMapComponent ( ) const
inlineoverridevirtual
Returns
true if this component processes texture data.

Reimplemented from castor3d::PassComponentPlugin.

◆ PassMapComponentPlugin()

C3D_API castor3d::PassMapComponentPlugin::PassMapComponentPlugin ( PassComponentRegister const & passComponent,
UpdateComponent const & pupdateComponent = nullptr )
inlineexplicit

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