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

Classes

class  BackgroundModel
 
struct  BackgroundModelEntry
 
struct  BillboardData
 
struct  BlendComponents
 
struct  BlendComponentsT
 
struct  BlendComponentT
 
class  BRDFHelpers
 
class  BufferBase
 
class  BufferT
 
struct  CameraData
 
class  CookTorranceBRDF
 
struct  CullData
 
struct  DerivTex
 
struct  DirectionalLight
 
class  Fog
 
class  FontData
 
class  FontGlyph
 
class  GlobalIllumination
 
struct  HdrConfigData
 
class  IblBackgroundModel
 
class  ImgBackgroundModel
 
struct  Intersection
 
struct  LayeredLpvGridData
 
struct  Light
 
struct  LightData
 
class  LightingModel
 
class  Lights
 
class  LightsBuffer
 
struct  LightSurface
 
struct  LpvGridData
 
struct  LpvLightData
 
struct  Material
 
class  Materials
 
struct  Meshlet
 
struct  MicrofacetDistributionSample
 
struct  ModelData
 
struct  MorphingWeightsData
 
struct  MorphTargetData
 
struct  MorphTargetsData
 
class  NoIblBackgroundModel
 
struct  ObjectIds
 
struct  ObjectsIds
 
struct  OutputComponents
 
struct  OverlayData
 
struct  OverlaysIDs
 
struct  OverlaySurfaceT
 
struct  PassComponentsShader
 
struct  PassMaterialShader
 
struct  PassShader
 
class  PassShaders
 
struct  PayloadT
 
class  PbrLightingModel
 
class  PhongLightingModel
 
struct  PointLight
 
struct  RasterizerSurfaceBase
 
struct  RasterizerSurfaceT
 
struct  Ray
 
class  ReflectionModel
 
struct  RsmConfigData
 
struct  SceneData
 
class  Shadow
 
struct  ShadowData
 
struct  ShadowMapData
 
struct  ShadowOptions
 
class  SheenBRDF
 
struct  SkinningData
 
struct  SpotLight
 
struct  SsaoConfigData
 
struct  SssProfile
 
class  SssProfiles
 
class  SssTransmittance
 
struct  Surface
 
struct  SurfaceBase
 
class  TextureAnimations
 
struct  TextureAnimData
 
struct  TextureConfigData
 
class  TextureConfigurations
 
class  Utils
 
struct  VertexSurfaceT
 
struct  Voxel
 
struct  VoxelData
 
struct  VoxelSurfaceT
 

Définitions de type

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

Fonctions

 CU_DeclareSmartPtr (castor3d::shader, BufferBase, C3D_API)
 
 Writer_Parameter (MicrofacetDistributionSample)
 
 Writer_Parameter (CullData)
 
 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::Float const &rotateU, sdw::Float const &rotateV, sdw::Vec2 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, PipelineFlags 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, PipelineFlags const &flags)
 
 Writer_Parameter (BillboardData)
 
 Writer_Parameter (HdrConfigData)
 
 Writer_Parameter (CameraData)
 
 Writer_Parameter (ModelData)
 
 Writer_Parameter (ModelInstancesData)
 
 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)
 

Sdw

template<ast::var::Flag FlagT>
using FragmentSurfaceT = RasterizerSurfaceT< sdw::Vec3, FlagT >
 
using RasterizerSurface = RasterizerSurfaceT< sdw::Vec3, ast::var::Flag::eNone >
 
using Vec3BlendComponents = BlendComponentsT< sdw::Vec3 >
 
using DerivFragmentSurface = RasterizerSurfaceT< DerivTex, ast::var::Flag::eNone >
 
template<typename TexcoordT >
using RasterSurfaceT = RasterizerSurfaceT< TexcoordT, ast::var::Flag::eNone >
 
using DerivBlendComponents = BlendComponentsT< DerivTex >
 
using VertexSurface = VertexSurfaceT< sdw::var::Flag::eNone >
 
using VoxelSurface = VoxelSurfaceT< sdw::var::Flag::eNone >
 
using OverlaySurface = OverlaySurfaceT< sdw::var::Flag::eNone >
 
using ReflectionModelPtr = std::unique_ptr< ReflectionModel >
 
using LightingModelCreator = std::function< LightingModelUPtr(LightingModelID lightingModelId, sdw::ShaderWriter &writer, Materials const &materials, Utils &utils, BRDFHelpers &brdf, Shadow &shadowModel, Lights &lights, bool enableVolumetric) >
 
using BackgroundModelPtr = std::unique_ptr< BackgroundModel >
 
using BackgroundModelCreator = std::function< BackgroundModelPtr(Engine const &engine, sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, bool needsForeground, uint32_t &binding, uint32_t set) >
 
using BackgroundModelFactory = castor::Factory< BackgroundModel, castor::String, BackgroundModelPtr, BackgroundModelCreator, BackgroundModelID >
 
 Writer_Parameter (Intersection)
 
 Writer_Parameter (Ray)
 
 CU_DeclareSmartPtr (castor3d::shader, LightsBuffer, C3D_API)
 
 CU_DeclareSmartPtr (castor3d::shader, LightingModel, C3D_API)
 
 CU_DeclareSmartPtr (castor3d::shader, Shadow, C3D_API)
 
 CU_DeclareSmartPtr (castor3d::shader, SssTransmittance, C3D_API)
 
 Writer_Parameter (BlendComponents)
 
 Writer_Parameter (DirectionalLight)
 
 Writer_Parameter (LayeredLpvGridData)
 
 Writer_Parameter (Light)
 
 Writer_Parameter (LightSurface)
 
 Writer_Parameter (LpvGridData)
 
 Writer_Parameter (LpvLightData)
 
 Writer_Parameter (Material)
 
 Writer_Parameter (PointLight)
 
 Writer_Parameter (ShadowData)
 
 Writer_Parameter (SpotLight)
 
 Writer_Parameter (Surface)
 
 Writer_Parameter (TextureAnimData)
 
 Writer_Parameter (TextureConfigData)
 
 Writer_Parameter (VertexSurface)
 
 Writer_Parameter (VoxelData)
 
 Writer_Parameter (VoxelSurface)
 
C3D_API uint32_t getSpotShadowMapCount ()
 
C3D_API uint32_t getPointShadowMapCount ()
 
C3D_API castor::String concatModelNames (castor::String lhs, castor::String rhs)
 
 Writer_Parameter (DerivTex)
 
 CU_DeclareSmartPtr (castor3d::shader, Material, C3D_API)
 

Documentation des définitions de type

◆ BackgroundModelCreator

using castor3d::shader::BackgroundModelCreator = typedef std::function< BackgroundModelPtr( Engine const & engine , sdw::ShaderWriter & writer , Utils & utils , VkExtent2D targetSize , bool needsForeground , uint32_t & binding , uint32_t set ) >

◆ BackgroundModelFactory

◆ BackgroundModelPtr

using castor3d::shader::BackgroundModelPtr = typedef std::unique_ptr< BackgroundModel >

◆ DerivBlendComponents

◆ DerivFragmentSurface

using castor3d::shader::DerivFragmentSurface = typedef RasterizerSurfaceT< DerivTex, ast::var::Flag::eNone >

◆ FragmentSurfaceT

template<ast::var::Flag FlagT>
using castor3d::shader::FragmentSurfaceT = typedef RasterizerSurfaceT< sdw::Vec3, FlagT >

◆ LightingModelCreator

using castor3d::shader::LightingModelCreator = typedef std::function< LightingModelUPtr( LightingModelID lightingModelId , sdw::ShaderWriter & writer , Materials const & materials , Utils & utils , BRDFHelpers & brdf , Shadow & shadowModel , Lights & lights , bool enableVolumetric ) >

◆ OverlaySurface

using castor3d::shader::OverlaySurface = typedef OverlaySurfaceT< sdw::var::Flag::eNone >

◆ PassComponentsShaderPtr

◆ PassMaterialShaderPtr

using castor3d::shader::PassMaterialShaderPtr = typedef std::unique_ptr< PassMaterialShader >

◆ RasterizerSurface

using castor3d::shader::RasterizerSurface = typedef RasterizerSurfaceT< sdw::Vec3, ast::var::Flag::eNone >

◆ RasterSurfaceT

template<typename TexcoordT >
using castor3d::shader::RasterSurfaceT = typedef RasterizerSurfaceT< TexcoordT, ast::var::Flag::eNone >

◆ ReflectionModelPtr

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

◆ Vec3BlendComponents

◆ VertexSurface

using castor3d::shader::VertexSurface = typedef VertexSurfaceT< sdw::var::Flag::eNone >

◆ VoxelSurface

using castor3d::shader::VoxelSurface = typedef VoxelSurfaceT< sdw::var::Flag::eNone >

Documentation des fonctions

◆ concatModelNames()

C3D_API castor::String castor3d::shader::concatModelNames ( castor::String  lhs,
castor::String  rhs 
)

◆ CU_DeclareSmartPtr() [1/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
BufferBase  ,
C3D_API   
)

◆ CU_DeclareSmartPtr() [2/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
LightingModel  ,
C3D_API   
)

◆ CU_DeclareSmartPtr() [3/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
LightsBuffer  ,
C3D_API   
)

◆ CU_DeclareSmartPtr() [4/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
Material  ,
C3D_API   
)

Références castor3d::CU_DeclareSmartPtr().

Voici le graphe d'appel pour cette fonction :

◆ CU_DeclareSmartPtr() [5/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
Shadow  ,
C3D_API   
)

◆ CU_DeclareSmartPtr() [6/6]

castor3d::shader::CU_DeclareSmartPtr ( castor3d::shader  ,
SssTransmittance  ,
C3D_API   
)

◆ 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,
PipelineFlags const &  flags 
)
inline

Références castor3d::PipelineFlags::enableInstantiation(), 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,
PipelineFlags const &  flags 
)
static

Références castor3d::PipelineFlags::enableInstantiation(), et castor3d::shader::VertexSurfaceT< FlagT >::objectIds.

Référencé par getNodeId().

Voici le graphe d'appel pour cette fonction :
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()

sdw::Vec2 castor3d::shader::rotateUV ( sdw::Float const &  rotateU,
sdw::Float const &  rotateV,
sdw::Vec2 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/39]

castor3d::shader::Writer_Parameter ( BillboardData  )

◆ Writer_Parameter() [2/39]

castor3d::shader::Writer_Parameter ( BlendComponents  )

◆ Writer_Parameter() [3/39]

castor3d::shader::Writer_Parameter ( CameraData  )

◆ Writer_Parameter() [4/39]

castor3d::shader::Writer_Parameter ( CullData  )

◆ Writer_Parameter() [5/39]

castor3d::shader::Writer_Parameter ( DerivTex  )

Références Writer_Parameter().

Voici le graphe d'appel pour cette fonction :

◆ Writer_Parameter() [6/39]

castor3d::shader::Writer_Parameter ( DirectionalLight  )

◆ Writer_Parameter() [7/39]

castor3d::shader::Writer_Parameter ( HdrConfigData  )

◆ Writer_Parameter() [8/39]

castor3d::shader::Writer_Parameter ( Intersection  )

◆ Writer_Parameter() [9/39]

castor3d::shader::Writer_Parameter ( LayeredLpvGridData  )

◆ Writer_Parameter() [10/39]

castor3d::shader::Writer_Parameter ( Light  )

◆ Writer_Parameter() [11/39]

castor3d::shader::Writer_Parameter ( LightSurface  )

◆ Writer_Parameter() [12/39]

castor3d::shader::Writer_Parameter ( LpvGridData  )

◆ Writer_Parameter() [13/39]

castor3d::shader::Writer_Parameter ( LpvLightData  )

◆ Writer_Parameter() [14/39]

castor3d::shader::Writer_Parameter ( Material  )

◆ Writer_Parameter() [15/39]

castor3d::shader::Writer_Parameter ( Meshlet  )

◆ Writer_Parameter() [16/39]

castor3d::shader::Writer_Parameter ( MicrofacetDistributionSample  )

Référencé par Writer_Parameter().

Voici le graphe des appelants de cette fonction :

◆ Writer_Parameter() [17/39]

castor3d::shader::Writer_Parameter ( ModelData  )

◆ Writer_Parameter() [18/39]

castor3d::shader::Writer_Parameter ( ModelInstancesData  )

◆ Writer_Parameter() [19/39]

castor3d::shader::Writer_Parameter ( MorphingWeightsData  )

◆ Writer_Parameter() [20/39]

castor3d::shader::Writer_Parameter ( MorphTargetData  )

◆ Writer_Parameter() [21/39]

castor3d::shader::Writer_Parameter ( MorphTargetsData  )

◆ Writer_Parameter() [22/39]

castor3d::shader::Writer_Parameter ( OverlayData  )

◆ Writer_Parameter() [23/39]

castor3d::shader::Writer_Parameter ( PickingData  )

◆ Writer_Parameter() [24/39]

castor3d::shader::Writer_Parameter ( PointLight  )

◆ Writer_Parameter() [25/39]

castor3d::shader::Writer_Parameter ( Ray  )

◆ Writer_Parameter() [26/39]

castor3d::shader::Writer_Parameter ( RsmConfigData  )

◆ Writer_Parameter() [27/39]

castor3d::shader::Writer_Parameter ( SceneData  )

◆ Writer_Parameter() [28/39]

castor3d::shader::Writer_Parameter ( ShadowData  )

◆ Writer_Parameter() [29/39]

castor3d::shader::Writer_Parameter ( ShadowMapData  )

◆ Writer_Parameter() [30/39]

castor3d::shader::Writer_Parameter ( SpotLight  )

◆ Writer_Parameter() [31/39]

castor3d::shader::Writer_Parameter ( SsaoConfigData  )

◆ Writer_Parameter() [32/39]

castor3d::shader::Writer_Parameter ( Surface  )

◆ Writer_Parameter() [33/39]

castor3d::shader::Writer_Parameter ( TextureAnimData  )

◆ Writer_Parameter() [34/39]

castor3d::shader::Writer_Parameter ( TextureConfigData  )

◆ Writer_Parameter() [35/39]

castor3d::shader::Writer_Parameter ( TextureData  )

◆ Writer_Parameter() [36/39]

castor3d::shader::Writer_Parameter ( VertexSurface  )

◆ Writer_Parameter() [37/39]

castor3d::shader::Writer_Parameter ( Voxel  )

◆ Writer_Parameter() [38/39]

castor3d::shader::Writer_Parameter ( VoxelData  )

◆ Writer_Parameter() [39/39]

castor3d::shader::Writer_Parameter ( VoxelSurface  )