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

#include <DefaultReflRefrComponent.hpp>

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

Public Member Functions

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

◆ createReflRefrShader()

shader::PassReflRefrShaderPtr castor3d::DefaultReflRefrComponent::Plugin::createReflRefrShader ( ) const
inlineoverridevirtual

Creates the component's reflection and refraction shader.

Reimplemented from castor3d::PassComponentPlugin.

◆ filterComponentFlags()

void castor3d::DefaultReflRefrComponent::Plugin::filterComponentFlags ( ComponentModeFlags filter,
PassComponentCombine & componentsFlags ) const
inlineoverridevirtual

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

Reimplemented from castor3d::PassComponentPlugin.

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

Here is the call graph for this function:

◆ isReflRefrComponent()

bool castor3d::DefaultReflRefrComponent::Plugin::isReflRefrComponent ( ) const
inlineoverridevirtual
Returns
true if this component processes reflection/refraction.

Reimplemented from castor3d::PassComponentPlugin.

◆ PassComponentPlugin() [1/3]

C3D_API castor3d::PassComponentPlugin::PassComponentPlugin ( PassComponentPlugin && rhs)
defaultnoexcept

◆ PassComponentPlugin() [2/3]

castor3d::PassComponentPlugin::PassComponentPlugin ( PassComponentPlugin const & )
delete

◆ PassComponentPlugin() [3/3]

C3D_API castor3d::PassComponentPlugin::PassComponentPlugin ( PassComponentRegister const & passComponents,
UpdateComponent const & pupdateComponent = nullptr,
FinishComponent const & pfinishComponent = nullptr )
inlineexplicit
Parameters
[in]passComponentsThe components registrar.
[in]pupdateComponentThe function to adjust the component data after textures have been parsed.
[in]pfinishComponentThe function to adjust the component data after materials are blended.

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