Castor3D 0.16.0
Multiplatform 3D engine
|
#include <PassComponent.hpp>
Public Member Functions | |
virtual C3D_API PassComponentUPtr | createComponent (Pass &pass) const =0 |
Construction / Desctruction. | |
PassComponentPlugin (PassComponentPlugin const &)=delete | |
PassComponentPlugin & | operator= (PassComponentPlugin const &)=delete |
PassComponentPlugin & | operator= (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) |
Scene file registration. | |
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 §ions) 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. | |
Pass buffer zeroing (when component is not present in the pass). | |
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. | |
Pass flags handling. | |
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 |
Shader functions. | |
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. | |
Getters. | |
PassComponentID | getId () const |
PassComponentRegister const & | getRegister () const |
Public Attributes | |
FinishComponent | finishComponent |
Applies component's transformations before lighting happens. | |
|
delete |
|
virtualdefault |
|
defaultnoexcept |
|
inlineexplicit |
[in] | passComponents | The components registrar. |
[in] | pupdateComponent | The function to adjust the component data after textures have been parsed. |
[in] | pfinishComponent | The function to adjust the component data after materials are blended. |
|
pure virtual |
Creates a component for given pass.
[in] | pass | The pass. |
Implemented in castor3d::BlendComponent::Plugin, castor3d::FractalMappingComponent::Plugin, castor3d::NormalComponent::Plugin, castor3d::PassHeaderComponent::Plugin, castor3d::PickableComponent::Plugin, castor3d::TexturesComponent::Plugin, castor3d::TwoSidedComponent::Plugin, castor3d::UntileMappingComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::LightingModelComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, castor3d::TransmittanceMapComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::DefaultReflRefrComponent::Plugin, castor3d::HeightComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, and castor3d::RefractionComponent::Plugin.
|
inlinevirtual |
Creates the component's lighting shaders.
Reimplemented in castor3d::FractalMappingComponent::Plugin, castor3d::NormalComponent::Plugin, castor3d::TexturesComponent::Plugin, castor3d::UntileMappingComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, castor3d::TransmittanceMapComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::HeightComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, and castor3d::RefractionComponent::Plugin.
|
inlinevirtual |
Creates the map component.
[in] | pass | To check if the configuration for the component is there. |
[in,out] | result | Receives the created component. |
Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
|
inlinevirtual |
Creates the component's material shaders.
Reimplemented in castor3d::PassHeaderComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::LightingModelComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, castor3d::TransmittanceMapComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, and castor3d::RefractionComponent::Plugin.
|
inlinevirtual |
Fills the given lists with this component's parsers.
[in,out] | parsers | Receives the parsers. |
[in,out] | channelFillers | Receives the texture channels and the way to fill them. |
Reimplemented in castor3d::BlendComponent::Plugin, castor3d::FractalMappingComponent::Plugin, castor3d::PassHeaderComponent::Plugin, castor3d::PickableComponent::Plugin, castor3d::TwoSidedComponent::Plugin, castor3d::UntileMappingComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::LightingModelComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, castor3d::TransmittanceMapComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::HeightComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, and castor3d::RefractionComponent::Plugin.
|
inlinevirtual |
Creates the component's reflection and refraction shader.
Reimplemented in castor3d::DefaultReflRefrComponent::Plugin.
|
inlinevirtual |
Fills the sections list with the ones created by this component.
[in,out] | sections | Receives the sections. |
Reimplemented in castor3d::SubsurfaceScatteringComponent::Plugin.
|
inlinevirtual |
Fills the texture configuration for use with this component.
configuration | The texture configuration. |
mask | The mask value. |
Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
Referenced by getBaseTextureConfiguration().
|
inlinevirtual |
Removes from given component flags the ones that are useless given the provided filter.
Reimplemented in castor3d::BlendComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::DefaultReflRefrComponent::Plugin, and castor3d::HeightComponent::Plugin.
|
inlinevirtual |
Removes from given texture flags the ones that are useless given the provided filter.
Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::BlendComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::AlphaTestComponent::Plugin.
|
inline |
References fillTextureConfiguration().
|
inlinevirtual |
Reimplemented in castor3d::ColourMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::BlendComponent::Plugin, castor3d::FractalMappingComponent::Plugin, castor3d::PickableComponent::Plugin, castor3d::UntileMappingComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::AlphaTestComponent::Plugin, and castor3d::HeightComponent::Plugin.
References castor3d::eNone, getId(), and castor3d::makePassComponentFlag().
Referenced by castor3d::DefaultReflRefrComponent::Plugin::filterComponentFlags(), and castor3d::TransmissionComponent::Plugin::getTransmissionFlag().
|
inlinevirtual |
Reimplemented in castor3d::SubsurfaceScatteringComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::HeightMapComponent::Plugin.
|
inline |
Referenced by getComponentFlags(), castor3d::BlendComponent::Plugin::getComponentFlags(), castor3d::FractalMappingComponent::Plugin::getComponentFlags(), castor3d::PickableComponent::Plugin::getComponentFlags(), castor3d::UntileMappingComponent::Plugin::getComponentFlags(), castor3d::SubsurfaceScatteringComponent::Plugin::getComponentFlags(), castor3d::AlphaTestComponent::Plugin::getComponentFlags(), castor3d::HeightComponent::Plugin::getComponentFlags(), castor3d::SubsurfaceScatteringComponent::Plugin::getDeferredDiffuseLightingFlag(), castor3d::HeightComponent::Plugin::getParallaxOcclusionMappingOneFlag(), castor3d::HeightComponent::Plugin::getParallaxOcclusionMappingRepeatFlag(), castor3d::AttenuationMapComponent::Plugin::getTextureFlags(), castor3d::ClearcoatMapComponent::Plugin::getTextureFlags(), castor3d::ClearcoatNormalMapComponent::Plugin::getTextureFlags(), castor3d::ClearcoatRoughnessMapComponent::Plugin::getTextureFlags(), castor3d::ColourMapComponent::Plugin::getTextureFlags(), castor3d::EmissiveMapComponent::Plugin::getTextureFlags(), castor3d::GlossinessMapComponent::Plugin::getTextureFlags(), castor3d::HeightMapComponent::Plugin::getTextureFlags(), castor3d::IridescenceMapComponent::Plugin::getTextureFlags(), castor3d::IridescenceThicknessMapComponent::Plugin::getTextureFlags(), castor3d::MetalnessMapComponent::Plugin::getTextureFlags(), castor3d::NormalMapComponent::Plugin::getTextureFlags(), castor3d::OcclusionMapComponent::Plugin::getTextureFlags(), castor3d::OpacityMapComponent::Plugin::getTextureFlags(), castor3d::RoughnessMapComponent::Plugin::getTextureFlags(), castor3d::SheenMapComponent::Plugin::getTextureFlags(), castor3d::SheenRoughnessMapComponent::Plugin::getTextureFlags(), castor3d::SpecularFactorMapComponent::Plugin::getTextureFlags(), castor3d::SpecularMapComponent::Plugin::getTextureFlags(), castor3d::TransmissionMapComponent::Plugin::getTextureFlags(), castor3d::TransmittanceMapComponent::Plugin::getTextureFlags(), castor3d::AttenuationMapComponent::Plugin::getTextureFlagsName(), castor3d::ClearcoatMapComponent::Plugin::getTextureFlagsName(), castor3d::ClearcoatNormalMapComponent::Plugin::getTextureFlagsName(), castor3d::ClearcoatRoughnessMapComponent::Plugin::getTextureFlagsName(), castor3d::ColourMapComponent::Plugin::getTextureFlagsName(), castor3d::EmissiveMapComponent::Plugin::getTextureFlagsName(), castor3d::GlossinessMapComponent::Plugin::getTextureFlagsName(), castor3d::HeightMapComponent::Plugin::getTextureFlagsName(), castor3d::IridescenceMapComponent::Plugin::getTextureFlagsName(), castor3d::IridescenceThicknessMapComponent::Plugin::getTextureFlagsName(), castor3d::MetalnessMapComponent::Plugin::getTextureFlagsName(), castor3d::NormalMapComponent::Plugin::getTextureFlagsName(), castor3d::OcclusionMapComponent::Plugin::getTextureFlagsName(), castor3d::OpacityMapComponent::Plugin::getTextureFlagsName(), castor3d::RoughnessMapComponent::Plugin::getTextureFlagsName(), castor3d::SheenMapComponent::Plugin::getTextureFlagsName(), castor3d::SheenRoughnessMapComponent::Plugin::getTextureFlagsName(), castor3d::SpecularFactorMapComponent::Plugin::getTextureFlagsName(), castor3d::SpecularMapComponent::Plugin::getTextureFlagsName(), castor3d::TransmissionMapComponent::Plugin::getTextureFlagsName(), and castor3d::TransmittanceMapComponent::Plugin::getTextureFlagsName().
|
inlinevirtual |
Reimplemented in castor3d::NormalMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::OcclusionMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::OpacityMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::HeightComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::HeightComponent::Plugin.
|
inline |
|
inlinevirtual |
Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
|
inlinevirtual |
Reimplemented in castor3d::TransmissionComponent::Plugin.
|
inlinevirtual |
true
if this component modifies texture coordinates. Reimplemented in castor3d::HeightMapComponent::Plugin.
|
inlinevirtual |
Tells if the component's lighting shaders are needed.
[in] | textures | To check from texturing viewpoint. |
[in,out] | filter | To check from render pass viewpoint. |
Reimplemented in castor3d::BlendComponent::Plugin, castor3d::FractalMappingComponent::Plugin, castor3d::NormalComponent::Plugin, castor3d::PassHeaderComponent::Plugin, castor3d::PickableComponent::Plugin, castor3d::TexturesComponent::Plugin, castor3d::TwoSidedComponent::Plugin, castor3d::UntileMappingComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::LightingModelComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, castor3d::TransmittanceMapComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::HeightComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, and castor3d::RefractionComponent::Plugin.
|
inlinevirtual |
true
if this component processes texture data. Reimplemented in castor3d::AttenuationMapComponent::Plugin, castor3d::ClearcoatMapComponent::Plugin, castor3d::ClearcoatNormalMapComponent::Plugin, castor3d::ClearcoatRoughnessMapComponent::Plugin, castor3d::ColourMapComponent::Plugin, castor3d::EmissiveMapComponent::Plugin, castor3d::GlossinessMapComponent::Plugin, castor3d::HeightMapComponent::Plugin, castor3d::IridescenceMapComponent::Plugin, castor3d::IridescenceThicknessMapComponent::Plugin, castor3d::MetalnessMapComponent::Plugin, castor3d::NormalMapComponent::Plugin, castor3d::OcclusionMapComponent::Plugin, castor3d::OpacityMapComponent::Plugin, castor3d::RoughnessMapComponent::Plugin, castor3d::SheenMapComponent::Plugin, castor3d::SheenRoughnessMapComponent::Plugin, castor3d::SpecularFactorMapComponent::Plugin, castor3d::SpecularMapComponent::Plugin, castor3d::TransmissionMapComponent::Plugin, and castor3d::TransmittanceMapComponent::Plugin.
|
inlinevirtual |
true
if this component processes reflection/refraction. Reimplemented in castor3d::DefaultReflRefrComponent::Plugin.
|
deletenoexcept |
|
delete |
|
inlinevirtual |
true
if the component replaces regular map sampling. Reimplemented in castor3d::FractalMappingComponent::Plugin, and castor3d::UntileMappingComponent::Plugin.
|
inlinevirtual |
Writes the texture configuration for this component in a scene file.
[in] | configuration | Holds the texture configuration data for this component. |
[in] | tabs | The current indentation in the output file. |
[in] | file | The output file. |
Reimplemented in castor3d::PassMapComponentPlugin.
|
inlinevirtual |
Fills the material buffer with zero values fot the component data.
[in] | pass | To find its data in the buffer. |
[in] | materialShader | To find the component's data in the pass entry into the buffer. |
[in] | buffer | The buffer. |
Reimplemented in castor3d::PassHeaderComponent::Plugin, castor3d::AmbientComponent::Plugin, castor3d::AttenuationComponent::Plugin, castor3d::ClearcoatComponent::Plugin, castor3d::EmissiveComponent::Plugin, castor3d::IridescenceComponent::Plugin, castor3d::LightingModelComponent::Plugin, castor3d::MetalnessComponent::Plugin, castor3d::RoughnessComponent::Plugin, castor3d::SheenComponent::Plugin, castor3d::SpecularComponent::Plugin, castor3d::SpecularFactorComponent::Plugin, castor3d::SubsurfaceScatteringComponent::Plugin, castor3d::ThicknessComponent::Plugin, castor3d::TransmissionComponent::Plugin, castor3d::TransmittanceComponent::Plugin, castor3d::AlphaTestComponent::Plugin, castor3d::ColourComponent::Plugin, castor3d::OpacityComponent::Plugin, castor3d::ReflectionComponent::Plugin, castor3d::RefractionComponent::Plugin, and castor3d::PassMapComponentPlugin.
|
friend |
FinishComponent castor3d::PassComponentPlugin::finishComponent |
Applies component's transformations before lighting happens.
UpdateComponent castor3d::PassComponentPlugin::updateComponent |
Adjust the component data after textures have been parsed.