Castor3D 0.14.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 >
 

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 >
 

Shader

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 (PassComponent)
 
 castor3d::CU_DeclareCUSmartPtr (castor3d, PassComponentRegister, C3D_API)
 
 castor3d::CU_DeclareCUSmartPtr (castor3d, PassComponentPlugin, 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