Castor3D 0.16.0
Multiplatform 3D engine
Classes | Namespaces | Macros | Typedefs
ComponentModule.hpp File Reference

Classes

struct  castor3d::PassComponentCombine
 

Namespaces

namespace  castor3d
 
namespace  castor3d::shader
 

Macros

#define C3D_PluginMakePassComponentName(p, x)   C3D_Join3Strings( cuT( p ), cuT( "pass" ), cuT( x ) )
 
#define C3D_MakePassComponentName(x)   C3D_PluginMakePassComponentName( "c3d", x )
 
#define C3D_PluginMakePassBaseComponentName(p, x)   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "base" ), cuT( x ) )
 
#define C3D_MakePassBaseComponentName(x)   C3D_PluginMakePassBaseComponentName( "c3d", x )
 
#define C3D_PluginMakePassLightingComponentName(p, x)   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "lighting" ), cuT( x ) )
 
#define C3D_MakePassLightingComponentName(x)   C3D_PluginMakePassLightingComponentName( "c3d", x )
 
#define C3D_PluginMakePassReflectionComponentName(p, x)   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "reflection" ), cuT( x ) )
 
#define C3D_MakePassReflectionComponentName(x)   C3D_PluginMakePassReflectionComponentName( "c3d", x )
 
#define C3D_PluginMakePassMapComponentName(p, x)   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "map" ), cuT( x ) )
 
#define C3D_MakePassMapComponentName(x)   C3D_PluginMakePassMapComponentName( "c3d", x )
 
#define C3D_PluginMakePassOtherComponentName(p, x)   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "other" ), cuT( x ) )
 
#define C3D_MakePassOtherComponentName(x)   C3D_PluginMakePassOtherComponentName( "c3d", x )
 

Typedefs

using castor3d::shader::PassComponentsShaderPtr = castor::RawUniquePtr< PassComponentsShader >
 
using castor3d::shader::PassReflRefrShaderPtr = castor::RawUniquePtr< PassReflRefrShader >
 
using castor3d::shader::PassMaterialShaderPtr = castor::RawUniquePtr< PassMaterialShader >
 
Sdw
using castor3d::shader::DerivVec3 = DerivativeValueT< sdw::Vec3, "C3D_DerivVec3" >
 
using castor3d::shader::DerivVec4 = DerivativeValueT< sdw::Vec4, "C3D_DerivVec4" >
 
using castor3d::shader::SurfaceBase = SurfaceBaseT< sdw::Vec3, sdw::Vec4, sdw::Vec3 >
 
using castor3d::shader::DerivSurfaceBase = SurfaceBaseT< DerivVec3, DerivVec4, DerivVec3 >
 

Functions

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, 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, SpecularFactorComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, SubsurfaceScatteringComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, ThicknessComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TransmissionComponent, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, TransmittanceComponent, 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, DefaultReflRefrComponent, 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 = 0 , castor3d::eOpacity = 1 , castor3d::eAlphaBlending = 2 , castor3d::eNormals = 3 ,
  castor3d::eGeometry = 4 , castor3d::eColour = 5 , castor3d::eDiffuseLighting = 6 , castor3d::eSpecularLighting = 7 ,
  castor3d::eSpecifics = 8 , castor3d::eDerivTex = 9 , castor3d::eOcclusion = 10 , castor3d::eCount ,
  castor3d::eMin = eNone
}
 
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::eOcclusion ) + 1u ) ) - 1u )
}
 
using castor3d::ComponentModeFlags = castor::FlagCombination< ComponentModeFlag >
 

Buffers

using castor3d::SssProfileChangedFunc = castor::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 = castor::Function< void( TextureContext & context ) >
 
using castor3d::ChannelFiller = castor::Pair< PassComponentTextureFlag, ComponentConfigFiller >
 
using castor3d::ChannelFillers = castor::StringMap< ChannelFiller >
 
using castor3d::UpdateComponent
 
using castor3d::FinishComponent
 
using castor3d::CreatePassComponentPlugin = castor::Function< PassComponentPluginUPtr( PassComponentRegister const & ) >
 
C3D_API bool castor3d::operator== (PassComponentCombine const &lhs, PassComponentCombine const &rhs) noexcept
 
C3D_API bool castor3d::hasAny (PassComponentCombine const &lhs, PassComponentFlag rhs) noexcept
 
C3D_API bool castor3d::hasAny (PassComponentCombine const &lhs, castor::Vector< PassComponentFlag > const &rhs) noexcept
 
C3D_API void castor3d::remFlags (PassComponentCombine &lhs, PassComponentFlag rhs) noexcept
 
C3D_API void castor3d::remFlags (PassComponentCombine &lhs, PassComponentFlagsSet const &rhs) noexcept
 
C3D_API void castor3d::addFlags (PassComponentCombine &lhs, PassComponentFlag rhs) noexcept
 
C3D_API void castor3d::addFlags (PassComponentCombine &lhs, PassComponentFlagsSet const &rhs) noexcept
 
C3D_API bool castor3d::contains (PassComponentCombine const &cont, PassComponentFlag test) noexcept
 
C3D_API bool castor3d::contains (PassComponentCombine const &cont, PassComponentCombine const &test) noexcept
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassComponentRegister, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassComponentPlugin, C3D_API)
 
 castor3d::CU_DeclareSmartPtr (castor3d, PassMapComponent, C3D_API)
 

Macro Definition Documentation

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

#define C3D_MakePassReflectionComponentName ( x)    C3D_PluginMakePassReflectionComponentName( "c3d", x )

◆ C3D_PluginMakePassBaseComponentName

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

◆ C3D_PluginMakePassComponentName

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

◆ C3D_PluginMakePassLightingComponentName

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

◆ C3D_PluginMakePassMapComponentName

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

◆ C3D_PluginMakePassOtherComponentName

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

◆ C3D_PluginMakePassReflectionComponentName

#define C3D_PluginMakePassReflectionComponentName ( p,
x )   C3D_Join4Strings( cuT( p ), cuT( "pass" ), cuT( "reflection" ), cuT( x ) )