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

#include <PassMapComponent.hpp>

Inheritance diagram for castor3d::PassMapComponentPlugin:
Inheritance graph
[legend]
Collaboration diagram for castor3d::PassMapComponentPlugin:
Collaboration graph
[legend]

Public Member Functions

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
virtual C3D_API PassComponentUPtr createComponent (Pass &pass) const =0
 
 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 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 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::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
 

Constructor & Destructor Documentation

◆ PassMapComponentPlugin()

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

Member Function Documentation

◆ writeTextureConfig()

C3D_API bool castor3d::PassMapComponentPlugin::writeTextureConfig ( TextureConfiguration const & configuration,
castor::String const & tabs,
castor::StringStream & file ) const
overridevirtual

Writes the texture configuration for this component in a scene file.

Parameters
[in]configurationHolds the texture configuration data for this component.
[in]tabsThe current indentation in the output file.
[in]fileThe output file.

Reimplemented from castor3d::PassComponentPlugin.

◆ zeroBuffer()

C3D_API void castor3d::PassMapComponentPlugin::zeroBuffer ( Pass const & pass,
shader::PassMaterialShader const & materialShader,
PassBuffer & buffer ) const
overridevirtual

Fills the material buffer with zero values fot the component data.

Parameters
[in]passTo find its data in the buffer.
[in]materialShaderTo find the component's data in the pass entry into the buffer.
[in]bufferThe buffer.

Reimplemented from castor3d::PassComponentPlugin.


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