Castor3D 0.13.0
Multiplatform 3D engine
Classes | Définitions de type | Fonctions | Variables
Référence de l'espace de nommage castor3d::shader

Classes

struct  BillboardData
 
class  BlinnPhongLightingModel
 
class  CookTorranceBRDF
 
struct  CullData
 
struct  DirectionalLight
 
class  Fog
 
struct  FragmentSurfaceT
 
class  GlobalIllumination
 
struct  GpInfoData
 
struct  HdrConfigData
 
struct  LayeredLpvGridData
 
struct  Light
 
struct  LightData
 
class  LightingModel
 
struct  LightMaterial
 
struct  LpvGridData
 
struct  LpvLightData
 
struct  Material
 
class  Materials
 
struct  MatrixData
 
struct  Meshlet
 
struct  ModelIndices
 
struct  MorphingWeightsData
 
struct  MorphTargetData
 
struct  MorphTargetsData
 
struct  ObjectIds
 
struct  ObjectsIds
 
struct  OutputComponents
 
struct  OverlayData
 
struct  PayloadT
 
class  PbrLightingModel
 
struct  PbrLightMaterial
 
class  PbrReflectionModel
 
class  PhongLightingModel
 
struct  PhongLightMaterial
 
class  PhongReflectionModel
 
struct  PointLight
 
class  ReflectionModel
 
struct  RsmConfigData
 
struct  SceneData
 
class  Shadow
 
struct  ShadowMapData
 
struct  ShadowOptions
 
struct  SkinningData
 
struct  SpotLight
 
struct  SsaoConfigData
 
struct  SssProfile
 
class  SssProfiles
 
class  SssTransmittance
 
struct  SurfaceT
 
class  TextureAnimations
 
struct  TextureAnimData
 
struct  TextureConfigData
 
class  TextureConfigurations
 
class  Utils
 
struct  VertexSurfaceT
 
struct  Voxel
 
struct  VoxelData
 

Définitions de type

using InVertexSurface = VertexSurfaceT< ast::var::Flag::eShaderInput >
 
using OutVertexSurface = FragmentSurfaceT< ast::var::Flag::eShaderOutput >
 
using InFragmentSurface = FragmentSurfaceT< ast::var::Flag::eShaderInput >
 

Fonctions

 Writer_Parameter (CullData)
 
C3D_API castor::String getLightingModelName (Engine const &engine, PassTypeID passType)
 
 CU_DeclareSmartPtr (Material)
 
 CU_DeclareSmartPtr (SssProfile)
 
 Writer_Parameter (Meshlet)
 
C3D_API ast::expr::ExprList makeFnArg (sdw::ShaderWriter &shader, OutputComponents const &value)
 
template<typename LhsT , typename RhsT >
LhsT translateUV (LhsT const &translate, RhsT const &uv)
 
sdw::Vec2 rotateUV (sdw::Vec2 const &rotate, sdw::Vec2 const &uv)
 
sdw::Vec3 rotateUV (sdw::Vec3 const &rotate, sdw::Vec3 const &uv)
 
template<typename LhsT , typename RhsT >
LhsT scaleUV (LhsT const &scale, RhsT const &uv)
 
 Writer_Parameter (Voxel)
 
template<ast::var::Flag FlagT>
static sdw::UInt getNodeId (sdw::Array< shader::ObjectsIds > const &data, shader::VertexSurfaceT< FlagT > const &surface, sdw::UInt pipelineID, sdw::UInt drawID, ProgramFlags const &flags)
 
C3D_API sdw::UInt getNodeId (sdw::Array< shader::ObjectsIds > const &data, sdw::UInt pipelineID, sdw::UInt drawID)
 
sdw::UInt getNodeId (sdw::Array< shader::ObjectsIds > const &data, sdw::Array< sdw::UVec4 > const &instances, sdw::UInt pipelineID, sdw::UInt drawID, ProgramFlags const &flags)
 
 Writer_Parameter (BillboardData)
 
 Writer_Parameter (GpInfoData)
 
 Writer_Parameter (HdrConfigData)
 
 Writer_Parameter (MatrixData)
 
 Writer_Parameter (ModelInstancesData)
 
 Writer_Parameter (ModelData)
 
 Writer_Parameter (MorphTargetData)
 
 Writer_Parameter (MorphTargetsData)
 
 Writer_Parameter (MorphingWeightsData)
 
 Writer_Parameter (OverlayData)
 
 Writer_Parameter (PickingData)
 
 Writer_Parameter (RsmConfigData)
 
 Writer_Parameter (SceneData)
 
 Writer_Parameter (ShadowMapData)
 
 Writer_Parameter (SsaoConfigData)
 
 Writer_Parameter (TextureData)
 

Variables

castor::String const PassBufferName = cuT( "Materials" )
 
castor::String const TextureAnimationBufferName = cuT( "C3D_TextureAnimations" )
 
castor::String const TextureConfigurationBufferName = cuT( "TextureConfigurations" )
 

Sdw

using Surface = SurfaceT< ast::var::Flag::eNone >
 
using LightingModelPtr = std::unique_ptr< LightingModel >
 
using ReflectionModelPtr = std::unique_ptr< ReflectionModel >
 
using LightingModelCreator = std::function< LightingModelPtr(sdw::ShaderWriter &writer, Utils &utils, ShadowOptions shadowsOptions, SssProfiles const *sssProfiles, bool enableVolumetric) >
 
using LightingModelFactory = castor::Factory< LightingModel, castor::String, LightingModelPtr, LightingModelCreator >
 
 Writer_Parameter (DirectionalLight)
 
 Writer_Parameter (LayeredLpvGridData)
 
 Writer_Parameter (Light)
 
 Writer_Parameter (LightMaterial)
 
 Writer_Parameter (LpvGridData)
 
 Writer_Parameter (LpvLightData)
 
 Writer_Parameter (PbrLightMaterial)
 
 Writer_Parameter (PhongLightMaterial)
 
 Writer_Parameter (PointLight)
 
 Writer_Parameter (SpotLight)
 
 Writer_Parameter (Surface)
 
 Writer_Parameter (TextureConfigData)
 
 Writer_Parameter (VoxelData)
 
C3D_API std::unique_ptr< MaterialscreateMaterials (sdw::ShaderWriter &writer, PassFlags const &passFlags)
 Crée le tampon de matériaux GLSL approprié. Plus de détails...
 
C3D_API uint32_t getSpotShadowMapCount ()
 
C3D_API uint32_t getPointShadowMapCount ()
 
C3D_API uint32_t getBaseLightComponentsCount ()
 
C3D_API uint32_t getMaxLightComponentsCount ()
 

Documentation des définitions de type

◆ InFragmentSurface

using castor3d::shader::InFragmentSurface = typedef FragmentSurfaceT< ast::var::Flag::eShaderInput >

◆ InVertexSurface

using castor3d::shader::InVertexSurface = typedef VertexSurfaceT< ast::var::Flag::eShaderInput >

◆ LightingModelCreator

using castor3d::shader::LightingModelCreator = typedef std::function< LightingModelPtr( sdw::ShaderWriter & writer , Utils & utils , ShadowOptions shadowsOptions , SssProfiles const * sssProfiles , bool enableVolumetric ) >

◆ LightingModelFactory

using castor3d::shader::LightingModelFactory = typedef castor::Factory< LightingModel , castor::String , LightingModelPtr , LightingModelCreator >

◆ LightingModelPtr

using castor3d::shader::LightingModelPtr = typedef std::unique_ptr< LightingModel >

◆ OutVertexSurface

using castor3d::shader::OutVertexSurface = typedef FragmentSurfaceT< ast::var::Flag::eShaderOutput >

◆ ReflectionModelPtr

using castor3d::shader::ReflectionModelPtr = typedef std::unique_ptr< ReflectionModel >

◆ Surface

using castor3d::shader::Surface = typedef SurfaceT< ast::var::Flag::eNone >

Documentation des fonctions

◆ createMaterials()

C3D_API std::unique_ptr< Materials > castor3d::shader::createMaterials ( sdw::ShaderWriter &  writer,
PassFlags const &  passFlags 
)

Crée le tampon de matériaux GLSL approprié.

Paramètres
[in]writerLe writer GLSL.
passFlagsLes indicateurs de passe.

◆ CU_DeclareSmartPtr() [1/2]

castor3d::shader::CU_DeclareSmartPtr ( Material  )

◆ CU_DeclareSmartPtr() [2/2]

castor3d::shader::CU_DeclareSmartPtr ( SssProfile  )

◆ getBaseLightComponentsCount()

C3D_API uint32_t castor3d::shader::getBaseLightComponentsCount ( )

◆ getLightingModelName()

C3D_API castor::String castor3d::shader::getLightingModelName ( Engine const &  engine,
PassTypeID  passType 
)

◆ getMaxLightComponentsCount()

C3D_API uint32_t castor3d::shader::getMaxLightComponentsCount ( )

◆ getNodeId() [1/3]

sdw::UInt castor3d::shader::getNodeId ( sdw::Array< shader::ObjectsIds > const &  data,
sdw::Array< sdw::UVec4 > const &  instances,
sdw::UInt  pipelineID,
sdw::UInt  drawID,
ProgramFlags const &  flags 
)
inline

Références castor3d::eInstantiation, et getNodeId().

Voici le graphe d'appel pour cette fonction :

◆ getNodeId() [2/3]

C3D_API sdw::UInt castor3d::shader::getNodeId ( sdw::Array< shader::ObjectsIds > const &  data,
sdw::UInt  pipelineID,
sdw::UInt  drawID 
)

◆ getNodeId() [3/3]

template<ast::var::Flag FlagT>
static sdw::UInt castor3d::shader::getNodeId ( sdw::Array< shader::ObjectsIds > const &  data,
shader::VertexSurfaceT< FlagT > const &  surface,
sdw::UInt  pipelineID,
sdw::UInt  drawID,
ProgramFlags const &  flags 
)
static

Références castor3d::eInstantiation, et castor3d::shader::VertexSurfaceT< FlagT >::objectIds.

Référencé par getNodeId().

Voici le graphe des appelants de cette fonction :

◆ getPointShadowMapCount()

C3D_API uint32_t castor3d::shader::getPointShadowMapCount ( )

◆ getSpotShadowMapCount()

C3D_API uint32_t castor3d::shader::getSpotShadowMapCount ( )

◆ makeFnArg()

C3D_API ast::expr::ExprList castor3d::shader::makeFnArg ( sdw::ShaderWriter &  shader,
OutputComponents const &  value 
)

◆ rotateUV() [1/2]

sdw::Vec2 castor3d::shader::rotateUV ( sdw::Vec2 const &  rotate,
sdw::Vec2 const &  uv 
)
inline

◆ rotateUV() [2/2]

sdw::Vec3 castor3d::shader::rotateUV ( sdw::Vec3 const &  rotate,
sdw::Vec3 const &  uv 
)
inline

◆ scaleUV()

template<typename LhsT , typename RhsT >
LhsT castor3d::shader::scaleUV ( LhsT const &  scale,
RhsT const &  uv 
)
inline

◆ translateUV()

template<typename LhsT , typename RhsT >
LhsT castor3d::shader::translateUV ( LhsT const &  translate,
RhsT const &  uv 
)
inline

◆ Writer_Parameter() [1/32]

castor3d::shader::Writer_Parameter ( BillboardData  )

◆ Writer_Parameter() [2/32]

castor3d::shader::Writer_Parameter ( CullData  )

◆ Writer_Parameter() [3/32]

castor3d::shader::Writer_Parameter ( DirectionalLight  )

◆ Writer_Parameter() [4/32]

castor3d::shader::Writer_Parameter ( GpInfoData  )

◆ Writer_Parameter() [5/32]

castor3d::shader::Writer_Parameter ( HdrConfigData  )

◆ Writer_Parameter() [6/32]

castor3d::shader::Writer_Parameter ( LayeredLpvGridData  )

◆ Writer_Parameter() [7/32]

castor3d::shader::Writer_Parameter ( Light  )

◆ Writer_Parameter() [8/32]

castor3d::shader::Writer_Parameter ( LightMaterial  )

◆ Writer_Parameter() [9/32]

castor3d::shader::Writer_Parameter ( LpvGridData  )

◆ Writer_Parameter() [10/32]

castor3d::shader::Writer_Parameter ( LpvLightData  )

◆ Writer_Parameter() [11/32]

castor3d::shader::Writer_Parameter ( MatrixData  )

◆ Writer_Parameter() [12/32]

castor3d::shader::Writer_Parameter ( Meshlet  )

◆ Writer_Parameter() [13/32]

castor3d::shader::Writer_Parameter ( ModelData  )

◆ Writer_Parameter() [14/32]

castor3d::shader::Writer_Parameter ( ModelInstancesData  )

◆ Writer_Parameter() [15/32]

castor3d::shader::Writer_Parameter ( MorphingWeightsData  )

◆ Writer_Parameter() [16/32]

castor3d::shader::Writer_Parameter ( MorphTargetData  )

◆ Writer_Parameter() [17/32]

castor3d::shader::Writer_Parameter ( MorphTargetsData  )

◆ Writer_Parameter() [18/32]

castor3d::shader::Writer_Parameter ( OverlayData  )

◆ Writer_Parameter() [19/32]

castor3d::shader::Writer_Parameter ( PbrLightMaterial  )

◆ Writer_Parameter() [20/32]

castor3d::shader::Writer_Parameter ( PhongLightMaterial  )

◆ Writer_Parameter() [21/32]

castor3d::shader::Writer_Parameter ( PickingData  )

◆ Writer_Parameter() [22/32]

castor3d::shader::Writer_Parameter ( PointLight  )

◆ Writer_Parameter() [23/32]

castor3d::shader::Writer_Parameter ( RsmConfigData  )

◆ Writer_Parameter() [24/32]

castor3d::shader::Writer_Parameter ( SceneData  )

◆ Writer_Parameter() [25/32]

castor3d::shader::Writer_Parameter ( ShadowMapData  )

◆ Writer_Parameter() [26/32]

castor3d::shader::Writer_Parameter ( SpotLight  )

◆ Writer_Parameter() [27/32]

castor3d::shader::Writer_Parameter ( SsaoConfigData  )

◆ Writer_Parameter() [28/32]

castor3d::shader::Writer_Parameter ( Surface  )

◆ Writer_Parameter() [29/32]

castor3d::shader::Writer_Parameter ( TextureConfigData  )

◆ Writer_Parameter() [30/32]

castor3d::shader::Writer_Parameter ( TextureData  )

◆ Writer_Parameter() [31/32]

castor3d::shader::Writer_Parameter ( Voxel  )

◆ Writer_Parameter() [32/32]

castor3d::shader::Writer_Parameter ( VoxelData  )

Documentation des variables

◆ PassBufferName

castor::String const castor3d::shader::PassBufferName = cuT( "Materials" )

◆ TextureAnimationBufferName

castor::String const castor3d::shader::TextureAnimationBufferName = cuT( "C3D_TextureAnimations" )

◆ TextureConfigurationBufferName

castor::String const castor3d::shader::TextureConfigurationBufferName = cuT( "TextureConfigurations" )