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

#include <TexturesComponent.hpp>

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

Public Member Functions

PassComponentUPtr createComponent (Pass &pass) const override
 
bool isComponentNeeded (TextureCombine const &textures, ComponentModeFlags const &filter) const override
 Tells if the component's lighting shaders are needed.
 
shader::PassComponentsShaderPtr createComponentsShader () const override
 Creates the component's lighting shaders.
 
 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 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.
 
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 isReflRefrComponent () 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::TexturesComponent::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::TexturesComponent::Plugin::createComponentsShader ( ) const
inlineoverridevirtual

Creates the component's lighting shaders.

Reimplemented from castor3d::PassComponentPlugin.

◆ isComponentNeeded()

bool castor3d::TexturesComponent::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.

◆ 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: