Castor3D 0.15.0
Multiplatform 3D engine
Classes | Espaces de nommage | Macros | Définitions de type
Référence du fichier ComponentModule.hpp

Classes

struct  castor3d::PassComponentCombine
 

Espaces de nommage

namespace  castor3d
 
namespace  castor3d::shader
 

Macros

#define C3D_Stringify(x)   C3DX_Stringify(x)
 
#define C3DX_Stringify(x)   #x
 
#define C3D_Join2Strings(l, r)   l "." r
 
#define C3D_Join3Strings(l, m, r)   C3D_Join2Strings(l, C3D_Join2Strings(m, r))
 
#define C3D_Join4Strings(l, ml, mr, r)   C3D_Join3Strings(l, ml, C3D_Join2Strings(mr, r))
 
#define C3D_PluginMakePassComponentName(p, x)   C3D_Join3Strings( p, "pass", x )
 
#define C3D_MakePassComponentName(x)   C3D_PluginMakePassComponentName( "c3d", x )
 
#define C3D_PluginMakePassBaseComponentName(p, x)   C3D_Join4Strings( p, "pass", "base", x )
 
#define C3D_MakePassBaseComponentName(x)   C3D_PluginMakePassBaseComponentName( "c3d", x )
 
#define C3D_PluginMakePassLightingComponentName(p, x)   C3D_Join4Strings( p, "pass", "lighting", x )
 
#define C3D_MakePassLightingComponentName(x)   C3D_PluginMakePassLightingComponentName( "c3d", x )
 
#define C3D_PluginMakePassMapComponentName(p, x)   C3D_Join4Strings( p, "pass", "map", x )
 
#define C3D_MakePassMapComponentName(x)   C3D_PluginMakePassMapComponentName( "c3d", x )
 
#define C3D_PluginMakePassOtherComponentName(p, x)   C3D_Join4Strings( p, "pass", "other", x )
 
#define C3D_MakePassOtherComponentName(x)   C3D_PluginMakePassOtherComponentName( "c3d", x )
 

Définitions de type

using castor3d::shader::PassComponentsShaderPtr = std::unique_ptr< PassComponentsShader >
 
using castor3d::shader::PassMaterialShaderPtr = std::unique_ptr< PassMaterialShader >
 

Fonctions

Base Components
 castor3d::CU_DeclareSmartPtr (castor3d, BlendComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, FractalMappingComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, NormalComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassHeaderComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PickableComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TextureCountComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TexturesComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TwoSidedComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, UntileMappingComponent, C3D_API)
 
Lighting Components
 castor3d::CU_DeclareSmartPtr (castor3d, AmbientComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, AttenuationComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ClearcoatComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, EmissiveComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, IridescenceComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, LightingModelComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, MetalnessComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, RoughnessComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SheenComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SpecularComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SubsurfaceScatteringComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ThicknessComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TransmissionComponent, C3D_API)
 
Texture Components
 castor3d::CU_DeclareSmartPtr (castor3d, AttenuationMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ClearcoatMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ClearcoatNormalMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ClearcoatRoughnessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ColourMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, EmissiveMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, GlossinessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, HeightMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, IridescenceMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, IridescenceThicknessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, MetalnessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, NormalMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, OcclusionMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, OpacityMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, RoughnessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SheenMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SheenRoughnessMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SpecularFactorMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SpecularMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TransmissionMapComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TransmittanceMapComponent, C3D_API)
 
Other components
 castor3d::CU_DeclareSmartPtr (castor3d, AlphaTestComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ColourComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, HeightComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, OpacityComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ReflectionComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, RefractionComponent, C3D_API)
 

Component

enum class  castor3d::ComponentMode : uint16_t {
  castor3d::eNone , castor3d::eOpacity , castor3d::eAlphaBlending , castor3d::eNormals ,
  castor3d::eGeometry , castor3d::eColour , castor3d::eDiffuseLighting , castor3d::eSpecularLighting ,
  castor3d::eSpecifics , castor3d::eDerivTex , castor3d::eOcclusion , castor3d::eCount ,
  castor3d::eMin = eNone , castor3d::eMax =eCount-1
}
 
enum class  castor3d::ComponentModeFlag : uint16_t {
  castor3d::eNone = 0x0000u , castor3d::eOpacity = 0x0001u << uint16_t( ComponentMode::eOpacity ) , castor3d::eAlphaBlending = 0x0001u << uint16_t( ComponentMode::eAlphaBlending ) , castor3d::eNormals = 0x0001u << uint16_t( ComponentMode::eNormals ) ,
  castor3d::eGeometry = 0x0001u << uint16_t( ComponentMode::eGeometry ) , castor3d::eColour = 0x0001u << uint16_t( ComponentMode::eColour ) , castor3d::eDiffuseLighting = 0x0001u << uint16_t( ComponentMode::eDiffuseLighting ) , castor3d::eSpecularLighting = 0x0001u << uint16_t( ComponentMode::eSpecularLighting ) ,
  castor3d::eSpecifics = 0x0001u << uint16_t( ComponentMode::eSpecifics ) , castor3d::eDerivTex = 0x0001u << uint16_t( ComponentMode::eDerivTex ) , castor3d::eOcclusion = 0x0001u << uint16_t( ComponentMode::eOcclusion ) , castor3d::eAll = ( ( 0x0001u << uint16_t( ComponentMode::eCount ) ) - 1u )
}
 
using castor3d::ComponentModeFlags = castor::FlagCombination< ComponentModeFlag >
 

Buffers

using castor3d::SssProfileChangedFunc = std::function< void(SubsurfaceScatteringComponent const &) >
 
using castor3d::OnSssProfileChanged = castor::SignalT< SssProfileChangedFunc >
 
using castor3d::OnSssProfileChangedConnection = castor::ConnectionT< OnSssProfileChanged >
 
using castor3d::PassComponentsBitset = castor::DynamicBitsetT< uint16_t >
 
using castor3d::ComponentConfigFiller = std::function< void(SceneFileContext &parsingContext) >
 
using castor3d::ChannelFiller = std::pair< PassComponentTextureFlag, ComponentConfigFiller >
 
using castor3d::ChannelFillers = std::map< castor::String, ChannelFiller >
 
using castor3d::UpdateComponent = std::function< void(PassComponentRegister const &passComponents, TextureCombine const &combine, shader::BlendComponents &components) >
 
using castor3d::FinishComponent = std::function< void(shader::SurfaceBase const &surface, sdw::Vec3 const worldEye, shader::Utils &utils, shader::BlendComponents &components) >
 
using castor3d::CreatePassComponentPlugin = std::function< PassComponentPluginUPtr(PassComponentRegister const &) >
 
C3D_API bool castor3d::operator== (PassComponentCombine const &lhs, PassComponentCombine const &rhs)
 
C3D_API bool castor3d::hasAny (PassComponentCombine const &lhs, PassComponentFlag rhs)
 
C3D_API void castor3d::remFlags (PassComponentCombine &lhs, PassComponentFlag rhs)
 
C3D_API void castor3d::remFlags (PassComponentCombine &lhs, PassComponentFlagsSet const &rhs)
 
C3D_API void castor3d::addFlags (PassComponentCombine &lhs, PassComponentFlag rhs)
 
C3D_API void castor3d::addFlags (PassComponentCombine &lhs, PassComponentFlagsSet const &rhs)
 
C3D_API bool castor3d::contains (PassComponentCombine const &cont, PassComponentFlag test)
 
C3D_API bool castor3d::contains (PassComponentCombine const &cont, PassComponentCombine const &test)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassComponentRegister, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassComponentPlugin, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassMapComponent, C3D_API)
 
 castor3d::CU_DeclareMap (PassComponentID, PassComponentUPtr, PassComponent)
 
C3D_API castor::String const & castor3d::getPassComponentType (PassComponent const &component)
 

Documentation des macros

◆ C3D_Join2Strings

#define C3D_Join2Strings (   l,
 
)    l "." r

◆ C3D_Join3Strings

#define C3D_Join3Strings (   l,
  m,
 
)    C3D_Join2Strings(l, C3D_Join2Strings(m, r))

◆ C3D_Join4Strings

#define C3D_Join4Strings (   l,
  ml,
  mr,
 
)    C3D_Join3Strings(l, ml, C3D_Join2Strings(mr, r))

◆ C3D_MakePassBaseComponentName

#define C3D_MakePassBaseComponentName (   x)    C3D_PluginMakePassBaseComponentName( "c3d", x )

◆ C3D_MakePassComponentName

#define C3D_MakePassComponentName (   x)    C3D_PluginMakePassComponentName( "c3d", x )

◆ C3D_MakePassLightingComponentName

#define C3D_MakePassLightingComponentName (   x)    C3D_PluginMakePassLightingComponentName( "c3d", x )

◆ C3D_MakePassMapComponentName

#define C3D_MakePassMapComponentName (   x)    C3D_PluginMakePassMapComponentName( "c3d", x )

◆ C3D_MakePassOtherComponentName

#define C3D_MakePassOtherComponentName (   x)    C3D_PluginMakePassOtherComponentName( "c3d", x )

◆ C3D_PluginMakePassBaseComponentName

#define C3D_PluginMakePassBaseComponentName (   p,
 
)    C3D_Join4Strings( p, "pass", "base", x )

◆ C3D_PluginMakePassComponentName

#define C3D_PluginMakePassComponentName (   p,
 
)    C3D_Join3Strings( p, "pass", x )

◆ C3D_PluginMakePassLightingComponentName

#define C3D_PluginMakePassLightingComponentName (   p,
 
)    C3D_Join4Strings( p, "pass", "lighting", x )

◆ C3D_PluginMakePassMapComponentName

#define C3D_PluginMakePassMapComponentName (   p,
 
)    C3D_Join4Strings( p, "pass", "map", x )

◆ C3D_PluginMakePassOtherComponentName

#define C3D_PluginMakePassOtherComponentName (   p,
 
)    C3D_Join4Strings( p, "pass", "other", x )

◆ C3D_Stringify

#define C3D_Stringify (   x)    C3DX_Stringify(x)

◆ C3DX_Stringify

#define C3DX_Stringify (   x)    #x