Castor3D  ..
Classes | Espaces de nommage | Macros
Référence du fichier Castor3DPrerequisites_Shader.hpp
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Classes

class  Castor3D::TUniform< Type >
 Représentation d'une variable de shader à type variable. Plus de détails...
 
class  Castor3D::TPushUniform< Type >
 Représentation d'une variable de shader à type variable. Plus de détails...
 

Espaces de nommage

 Castor3D
 

Macros

#define UBO_MATRIX(Writer)
 
#define UBO_MODEL_MATRIX(Writer)
 
#define UBO_SCENE(Writer)
 
#define UBO_PASS(Writer)
 
#define UBO_MODEL(Writer)
 
#define UBO_BILLBOARD(Writer)
 
#define UBO_SKINNING(Writer, Flags)
 
#define UBO_MORPHING(Writer, Flags)
 
#define UBO_OVERLAY(Writer)
 
#define STRUCT_VTX_OUTPUT(Writer)
 

Shader

enum  Castor3D::ShaderModel : uint8_t {
  Castor3D::ShaderModel::eModel1, Castor3D::ShaderModel::eModel2, Castor3D::ShaderModel::eModel3, Castor3D::ShaderModel::eModel4,
  Castor3D::ShaderModel::eModel5
}
 Enumération des modèles de shader existants. Plus de détails...
 
enum  Castor3D::ShaderStatus : uint8_t { Castor3D::ShaderStatus::eDontExist, Castor3D::ShaderStatus::eNotCompiled, Castor3D::ShaderStatus::eError, Castor3D::ShaderStatus::eCompiled }
 Enumération des statuts de shader. Plus de détails...
 
enum  Castor3D::ProgramStatus : uint8_t { Castor3D::ProgramStatus::eNotLinked, Castor3D::ProgramStatus::eError, Castor3D::ProgramStatus::eLinked }
 Enumération des statuts de programme. Plus de détails...
 
enum  Castor3D::ShaderType : int8_t {
  Castor3D::ShaderType::eNone = -1, Castor3D::ShaderType::eVertex, Castor3D::ShaderType::eHull, Castor3D::ShaderType::eDomain,
  Castor3D::ShaderType::eGeometry, Castor3D::ShaderType::ePixel, Castor3D::ShaderType::eCompute
}
 Enumération des types de shader object. Plus de détails...
 
enum  Castor3D::ShaderTypeFlag : uint8_t {
  Castor3D::ShaderTypeFlag::eVertex = uint8_t( 0x1 ) << int( ShaderType::eVertex ), Castor3D::ShaderTypeFlag::eHull = uint8_t( 0x1 ) << int( ShaderType::eHull ), Castor3D::ShaderTypeFlag::eDomain = uint8_t( 0x1 ) << int( ShaderType::eDomain ), Castor3D::ShaderTypeFlag::eGeometry = uint8_t( 0x1 ) << int( ShaderType::eGeometry ),
  Castor3D::ShaderTypeFlag::ePixel = uint8_t( 0x1 ) << int( ShaderType::ePixel ), Castor3D::ShaderTypeFlag::eCompute = uint8_t( 0x1 ) << int( ShaderType::eCompute )
}
 Masques pour les types de shader object. Plus de détails...
 
enum  Castor3D::ProgramFlag : uint16_t {
  Castor3D::ProgramFlag::eInstantiation = 0x0001, Castor3D::ProgramFlag::eSkinning = 0x0002, Castor3D::ProgramFlag::eBillboards = 0x0004, Castor3D::ProgramFlag::eMorphing = 0x0008,
  Castor3D::ProgramFlag::eAlphaBlending = 0x0010, Castor3D::ProgramFlag::ePicking = 0x0020, Castor3D::ProgramFlag::eLighting = 0x0040, Castor3D::ProgramFlag::eSpherical = 0x0080,
  Castor3D::ProgramFlag::eFixedSize = 0x0100, Castor3D::ProgramFlag::eShadowMapDirectional = 0x0200, Castor3D::ProgramFlag::eShadowMapSpot = 0x0400, Castor3D::ProgramFlag::eShadowMapPoint = 0x0800
}
 Indicateurs à utiliser lors de la recherche de programme généré automatiquement. Plus de détails...
 
enum  Castor3D::VariableType : uint8_t {
  Castor3D::VariableType::eOne, Castor3D::VariableType::eVec1, Castor3D::VariableType::eVec2, Castor3D::VariableType::eVec3,
  Castor3D::VariableType::eVec4, Castor3D::VariableType::eMat1, Castor3D::VariableType::eMat2x2, Castor3D::VariableType::eMat2x3,
  Castor3D::VariableType::eMat2x4, Castor3D::VariableType::eMat3x2, Castor3D::VariableType::eMat3x3, Castor3D::VariableType::eMat3x4,
  Castor3D::VariableType::eMat4x2, Castor3D::VariableType::eMat4x3, Castor3D::VariableType::eMat4x4
}
 Enumération des dimensions de variable supportées. Plus de détails...
 
enum  Castor3D::UniformType : uint8_t {
  Castor3D::UniformType::eBool, Castor3D::UniformType::eInt, Castor3D::UniformType::eUInt, Castor3D::UniformType::eFloat,
  Castor3D::UniformType::eDouble, Castor3D::UniformType::eSampler, Castor3D::UniformType::eVec2b, Castor3D::UniformType::eVec3b,
  Castor3D::UniformType::eVec4b, Castor3D::UniformType::eVec2i, Castor3D::UniformType::eVec3i, Castor3D::UniformType::eVec4i,
  Castor3D::UniformType::eVec2ui, Castor3D::UniformType::eVec3ui, Castor3D::UniformType::eVec4ui, Castor3D::UniformType::eVec2f,
  Castor3D::UniformType::eVec3f, Castor3D::UniformType::eVec4f, Castor3D::UniformType::eVec2d, Castor3D::UniformType::eVec3d,
  Castor3D::UniformType::eVec4d, Castor3D::UniformType::eMat2x2b, Castor3D::UniformType::eMat2x3b, Castor3D::UniformType::eMat2x4b,
  Castor3D::UniformType::eMat3x2b, Castor3D::UniformType::eMat3x3b, Castor3D::UniformType::eMat3x4b, Castor3D::UniformType::eMat4x2b,
  Castor3D::UniformType::eMat4x3b, Castor3D::UniformType::eMat4x4b, Castor3D::UniformType::eMat2x2i, Castor3D::UniformType::eMat2x3i,
  Castor3D::UniformType::eMat2x4i, Castor3D::UniformType::eMat3x2i, Castor3D::UniformType::eMat3x3i, Castor3D::UniformType::eMat3x4i,
  Castor3D::UniformType::eMat4x2i, Castor3D::UniformType::eMat4x3i, Castor3D::UniformType::eMat4x4i, Castor3D::UniformType::eMat2x2ui,
  Castor3D::UniformType::eMat2x3ui, Castor3D::UniformType::eMat2x4ui, Castor3D::UniformType::eMat3x2ui, Castor3D::UniformType::eMat3x3ui,
  Castor3D::UniformType::eMat3x4ui, Castor3D::UniformType::eMat4x2ui, Castor3D::UniformType::eMat4x3ui, Castor3D::UniformType::eMat4x4ui,
  Castor3D::UniformType::eMat2x2f, Castor3D::UniformType::eMat2x3f, Castor3D::UniformType::eMat2x4f, Castor3D::UniformType::eMat3x2f,
  Castor3D::UniformType::eMat3x3f, Castor3D::UniformType::eMat3x4f, Castor3D::UniformType::eMat4x2f, Castor3D::UniformType::eMat4x3f,
  Castor3D::UniformType::eMat4x4f, Castor3D::UniformType::eMat2x2d, Castor3D::UniformType::eMat2x3d, Castor3D::UniformType::eMat2x4d,
  Castor3D::UniformType::eMat3x2d, Castor3D::UniformType::eMat3x3d, Castor3D::UniformType::eMat3x4d, Castor3D::UniformType::eMat4x2d,
  Castor3D::UniformType::eMat4x3d, Castor3D::UniformType::eMat4x4d, Castor3D::UniformType::eReal = eFloat, Castor3D::UniformType::eVec2r = eVec2f,
  Castor3D::UniformType::eVec3r = eVec3f, Castor3D::UniformType::eVec4r = eVec4f, Castor3D::UniformType::eMat2x2r = eMat2x2f, Castor3D::UniformType::eMat2x3r = eMat2x3f,
  Castor3D::UniformType::eMat2x4r = eMat2x4f, Castor3D::UniformType::eMat3x2r = eMat3x2f, Castor3D::UniformType::eMat3x3r = eMat3x3f, Castor3D::UniformType::eMat3x4r = eMat3x4f,
  Castor3D::UniformType::eMat4x2r = eMat4x2f, Castor3D::UniformType::eMat4x3r = eMat4x3f, Castor3D::UniformType::eMat4x4r = eMat4x4f
}
 Enumération des types complets de variable supportées. Plus de détails...
 
using Castor3D::Uniform1b = TUniform< UniformType::eBool >
 
using Castor3D::Uniform1i = TUniform< UniformType::eInt >
 
using Castor3D::Uniform1s = TUniform< UniformType::eSampler >
 
using Castor3D::Uniform1ui = TUniform< UniformType::eUInt >
 
using Castor3D::Uniform1f = TUniform< UniformType::eFloat >
 
using Castor3D::Uniform1d = TUniform< UniformType::eDouble >
 
using Castor3D::Uniform1r = TUniform< UniformType::eReal >
 
using Castor3D::Uniform2b = TUniform< UniformType::eVec2b >
 
using Castor3D::Uniform3b = TUniform< UniformType::eVec3b >
 
using Castor3D::Uniform4b = TUniform< UniformType::eVec4b >
 
using Castor3D::Uniform2i = TUniform< UniformType::eVec2i >
 
using Castor3D::Uniform3i = TUniform< UniformType::eVec3i >
 
using Castor3D::Uniform4i = TUniform< UniformType::eVec4i >
 
using Castor3D::Uniform2ui = TUniform< UniformType::eVec2ui >
 
using Castor3D::Uniform3ui = TUniform< UniformType::eVec3ui >
 
using Castor3D::Uniform4ui = TUniform< UniformType::eVec4ui >
 
using Castor3D::Uniform2f = TUniform< UniformType::eVec2f >
 
using Castor3D::Uniform3f = TUniform< UniformType::eVec3f >
 
using Castor3D::Uniform4f = TUniform< UniformType::eVec4f >
 
using Castor3D::Uniform2d = TUniform< UniformType::eVec2d >
 
using Castor3D::Uniform3d = TUniform< UniformType::eVec3d >
 
using Castor3D::Uniform4d = TUniform< UniformType::eVec4d >
 
using Castor3D::Uniform2r = TUniform< UniformType::eVec2r >
 
using Castor3D::Uniform3r = TUniform< UniformType::eVec3r >
 
using Castor3D::Uniform4r = TUniform< UniformType::eVec4r >
 
using Castor3D::Uniform2x2b = TUniform< UniformType::eMat2x2b >
 
using Castor3D::Uniform2x3b = TUniform< UniformType::eMat2x3b >
 
using Castor3D::Uniform2x4b = TUniform< UniformType::eMat2x4b >
 
using Castor3D::Uniform3x2b = TUniform< UniformType::eMat3x2b >
 
using Castor3D::Uniform3x3b = TUniform< UniformType::eMat3x3b >
 
using Castor3D::Uniform3x4b = TUniform< UniformType::eMat3x4b >
 
using Castor3D::Uniform4x2b = TUniform< UniformType::eMat4x2b >
 
using Castor3D::Uniform4x3b = TUniform< UniformType::eMat4x3b >
 
using Castor3D::Uniform4x4b = TUniform< UniformType::eMat4x4b >
 
using Castor3D::Uniform2x2i = TUniform< UniformType::eMat2x2i >
 
using Castor3D::Uniform2x3i = TUniform< UniformType::eMat2x3i >
 
using Castor3D::Uniform2x4i = TUniform< UniformType::eMat2x4i >
 
using Castor3D::Uniform3x2i = TUniform< UniformType::eMat3x2i >
 
using Castor3D::Uniform3x3i = TUniform< UniformType::eMat3x3i >
 
using Castor3D::Uniform3x4i = TUniform< UniformType::eMat3x4i >
 
using Castor3D::Uniform4x2i = TUniform< UniformType::eMat4x2i >
 
using Castor3D::Uniform4x3i = TUniform< UniformType::eMat4x3i >
 
using Castor3D::Uniform4x4i = TUniform< UniformType::eMat4x4i >
 
using Castor3D::Uniform2x2ui = TUniform< UniformType::eMat2x2ui >
 
using Castor3D::Uniform2x3ui = TUniform< UniformType::eMat2x3ui >
 
using Castor3D::Uniform2x4ui = TUniform< UniformType::eMat2x4ui >
 
using Castor3D::Uniform3x2ui = TUniform< UniformType::eMat3x2ui >
 
using Castor3D::Uniform3x3ui = TUniform< UniformType::eMat3x3ui >
 
using Castor3D::Uniform3x4ui = TUniform< UniformType::eMat3x4ui >
 
using Castor3D::Uniform4x2ui = TUniform< UniformType::eMat4x2ui >
 
using Castor3D::Uniform4x3ui = TUniform< UniformType::eMat4x3ui >
 
using Castor3D::Uniform4x4ui = TUniform< UniformType::eMat4x4ui >
 
using Castor3D::Uniform2x2f = TUniform< UniformType::eMat2x2f >
 
using Castor3D::Uniform2x3f = TUniform< UniformType::eMat2x3f >
 
using Castor3D::Uniform2x4f = TUniform< UniformType::eMat2x4f >
 
using Castor3D::Uniform3x2f = TUniform< UniformType::eMat3x2f >
 
using Castor3D::Uniform3x3f = TUniform< UniformType::eMat3x3f >
 
using Castor3D::Uniform3x4f = TUniform< UniformType::eMat3x4f >
 
using Castor3D::Uniform4x2f = TUniform< UniformType::eMat4x2f >
 
using Castor3D::Uniform4x3f = TUniform< UniformType::eMat4x3f >
 
using Castor3D::Uniform4x4f = TUniform< UniformType::eMat4x4f >
 
using Castor3D::Uniform2x2d = TUniform< UniformType::eMat2x2d >
 
using Castor3D::Uniform2x3d = TUniform< UniformType::eMat2x3d >
 
using Castor3D::Uniform2x4d = TUniform< UniformType::eMat2x4d >
 
using Castor3D::Uniform3x2d = TUniform< UniformType::eMat3x2d >
 
using Castor3D::Uniform3x3d = TUniform< UniformType::eMat3x3d >
 
using Castor3D::Uniform3x4d = TUniform< UniformType::eMat3x4d >
 
using Castor3D::Uniform4x2d = TUniform< UniformType::eMat4x2d >
 
using Castor3D::Uniform4x3d = TUniform< UniformType::eMat4x3d >
 
using Castor3D::Uniform4x4d = TUniform< UniformType::eMat4x4d >
 
using Castor3D::Uniform2x2r = TUniform< UniformType::eMat2x2r >
 
using Castor3D::Uniform2x3r = TUniform< UniformType::eMat2x3r >
 
using Castor3D::Uniform2x4r = TUniform< UniformType::eMat2x4r >
 
using Castor3D::Uniform3x2r = TUniform< UniformType::eMat3x2r >
 
using Castor3D::Uniform3x3r = TUniform< UniformType::eMat3x3r >
 
using Castor3D::Uniform3x4r = TUniform< UniformType::eMat3x4r >
 
using Castor3D::Uniform4x2r = TUniform< UniformType::eMat4x2r >
 
using Castor3D::Uniform4x3r = TUniform< UniformType::eMat4x3r >
 
using Castor3D::Uniform4x4r = TUniform< UniformType::eMat4x4r >
 
using Castor3D::PushUniform1b = TPushUniform< UniformType::eBool >
 
using Castor3D::PushUniform1i = TPushUniform< UniformType::eInt >
 
using Castor3D::PushUniform1s = TPushUniform< UniformType::eSampler >
 
using Castor3D::PushUniform1ui = TPushUniform< UniformType::eUInt >
 
using Castor3D::PushUniform1f = TPushUniform< UniformType::eFloat >
 
using Castor3D::PushUniform1d = TPushUniform< UniformType::eDouble >
 
using Castor3D::PushUniform1r = TPushUniform< UniformType::eReal >
 
using Castor3D::PushUniform2b = TPushUniform< UniformType::eVec2b >
 
using Castor3D::PushUniform3b = TPushUniform< UniformType::eVec3b >
 
using Castor3D::PushUniform4b = TPushUniform< UniformType::eVec4b >
 
using Castor3D::PushUniform2i = TPushUniform< UniformType::eVec2i >
 
using Castor3D::PushUniform3i = TPushUniform< UniformType::eVec3i >
 
using Castor3D::PushUniform4i = TPushUniform< UniformType::eVec4i >
 
using Castor3D::PushUniform2ui = TPushUniform< UniformType::eVec2ui >
 
using Castor3D::PushUniform3ui = TPushUniform< UniformType::eVec3ui >
 
using Castor3D::PushUniform4ui = TPushUniform< UniformType::eVec4ui >
 
using Castor3D::PushUniform2f = TPushUniform< UniformType::eVec2f >
 
using Castor3D::PushUniform3f = TPushUniform< UniformType::eVec3f >
 
using Castor3D::PushUniform4f = TPushUniform< UniformType::eVec4f >
 
using Castor3D::PushUniform2d = TPushUniform< UniformType::eVec2d >
 
using Castor3D::PushUniform3d = TPushUniform< UniformType::eVec3d >
 
using Castor3D::PushUniform4d = TPushUniform< UniformType::eVec4d >
 
using Castor3D::PushUniform2r = TPushUniform< UniformType::eVec2r >
 
using Castor3D::PushUniform3r = TPushUniform< UniformType::eVec3r >
 
using Castor3D::PushUniform4r = TPushUniform< UniformType::eVec4r >
 
using Castor3D::PushUniform2x2b = TPushUniform< UniformType::eMat2x2b >
 
using Castor3D::PushUniform2x3b = TPushUniform< UniformType::eMat2x3b >
 
using Castor3D::PushUniform2x4b = TPushUniform< UniformType::eMat2x4b >
 
using Castor3D::PushUniform3x2b = TPushUniform< UniformType::eMat3x2b >
 
using Castor3D::PushUniform3x3b = TPushUniform< UniformType::eMat3x3b >
 
using Castor3D::PushUniform3x4b = TPushUniform< UniformType::eMat3x4b >
 
using Castor3D::PushUniform4x2b = TPushUniform< UniformType::eMat4x2b >
 
using Castor3D::PushUniform4x3b = TPushUniform< UniformType::eMat4x3b >
 
using Castor3D::PushUniform4x4b = TPushUniform< UniformType::eMat4x4b >
 
using Castor3D::PushUniform2x2i = TPushUniform< UniformType::eMat2x2i >
 
using Castor3D::PushUniform2x3i = TPushUniform< UniformType::eMat2x3i >
 
using Castor3D::PushUniform2x4i = TPushUniform< UniformType::eMat2x4i >
 
using Castor3D::PushUniform3x2i = TPushUniform< UniformType::eMat3x2i >
 
using Castor3D::PushUniform3x3i = TPushUniform< UniformType::eMat3x3i >
 
using Castor3D::PushUniform3x4i = TPushUniform< UniformType::eMat3x4i >
 
using Castor3D::PushUniform4x2i = TPushUniform< UniformType::eMat4x2i >
 
using Castor3D::PushUniform4x3i = TPushUniform< UniformType::eMat4x3i >
 
using Castor3D::PushUniform4x4i = TPushUniform< UniformType::eMat4x4i >
 
using Castor3D::PushUniform2x2ui = TPushUniform< UniformType::eMat2x2ui >
 
using Castor3D::PushUniform2x3ui = TPushUniform< UniformType::eMat2x3ui >
 
using Castor3D::PushUniform2x4ui = TPushUniform< UniformType::eMat2x4ui >
 
using Castor3D::PushUniform3x2ui = TPushUniform< UniformType::eMat3x2ui >
 
using Castor3D::PushUniform3x3ui = TPushUniform< UniformType::eMat3x3ui >
 
using Castor3D::PushUniform3x4ui = TPushUniform< UniformType::eMat3x4ui >
 
using Castor3D::PushUniform4x2ui = TPushUniform< UniformType::eMat4x2ui >
 
using Castor3D::PushUniform4x3ui = TPushUniform< UniformType::eMat4x3ui >
 
using Castor3D::PushUniform4x4ui = TPushUniform< UniformType::eMat4x4ui >
 
using Castor3D::PushUniform2x2f = TPushUniform< UniformType::eMat2x2f >
 
using Castor3D::PushUniform2x3f = TPushUniform< UniformType::eMat2x3f >
 
using Castor3D::PushUniform2x4f = TPushUniform< UniformType::eMat2x4f >
 
using Castor3D::PushUniform3x2f = TPushUniform< UniformType::eMat3x2f >
 
using Castor3D::PushUniform3x3f = TPushUniform< UniformType::eMat3x3f >
 
using Castor3D::PushUniform3x4f = TPushUniform< UniformType::eMat3x4f >
 
using Castor3D::PushUniform4x2f = TPushUniform< UniformType::eMat4x2f >
 
using Castor3D::PushUniform4x3f = TPushUniform< UniformType::eMat4x3f >
 
using Castor3D::PushUniform4x4f = TPushUniform< UniformType::eMat4x4f >
 
using Castor3D::PushUniform2x2d = TPushUniform< UniformType::eMat2x2d >
 
using Castor3D::PushUniform2x3d = TPushUniform< UniformType::eMat2x3d >
 
using Castor3D::PushUniform2x4d = TPushUniform< UniformType::eMat2x4d >
 
using Castor3D::PushUniform3x2d = TPushUniform< UniformType::eMat3x2d >
 
using Castor3D::PushUniform3x3d = TPushUniform< UniformType::eMat3x3d >
 
using Castor3D::PushUniform3x4d = TPushUniform< UniformType::eMat3x4d >
 
using Castor3D::PushUniform4x2d = TPushUniform< UniformType::eMat4x2d >
 
using Castor3D::PushUniform4x3d = TPushUniform< UniformType::eMat4x3d >
 
using Castor3D::PushUniform4x4d = TPushUniform< UniformType::eMat4x4d >
 
using Castor3D::PushUniform2x2r = TPushUniform< UniformType::eMat2x2r >
 
using Castor3D::PushUniform2x3r = TPushUniform< UniformType::eMat2x3r >
 
using Castor3D::PushUniform2x4r = TPushUniform< UniformType::eMat2x4r >
 
using Castor3D::PushUniform3x2r = TPushUniform< UniformType::eMat3x2r >
 
using Castor3D::PushUniform3x3r = TPushUniform< UniformType::eMat3x3r >
 
using Castor3D::PushUniform3x4r = TPushUniform< UniformType::eMat3x4r >
 
using Castor3D::PushUniform4x2r = TPushUniform< UniformType::eMat4x2r >
 
using Castor3D::PushUniform4x3r = TPushUniform< UniformType::eMat4x3r >
 
using Castor3D::PushUniform4x4r = TPushUniform< UniformType::eMat4x4r >
 
bool Castor3D::IsShadowMapProgram (ProgramFlags const &p_flags)
 Dit si les indicateurs donnés contiennent un indicateur de shadow map. Plus de détails...
 
 Castor3D::DECLARE_SMART_PTR (Uniform1b)
 
 Castor3D::DECLARE_SMART_PTR (PushUniform1b)
 
 Castor3D::DECLARE_SMART_PTR (UniformBuffer)
 
 Castor3D::DECLARE_SMART_PTR (UniformBufferBinding)
 
 Castor3D::DECLARE_SMART_PTR (Uniform)
 
 Castor3D::DECLARE_SMART_PTR (PushUniform)
 
 Castor3D::DECLARE_SMART_PTR (ShaderObject)
 
 Castor3D::DECLARE_SMART_PTR (ShaderProgram)
 
 Castor3D::DECLARE_SMART_PTR (ShaderStorageBuffer)
 
 Castor3D::DECLARE_SMART_PTR (AtomicCounterBuffer)
 
 Castor3D::DECLARE_VECTOR (ShaderProgramSPtr, ShaderProgramPtr)
 
 Castor3D::DECLARE_VECTOR (ShaderObjectSPtr, ShaderObjectPtr)
 
 Castor3D::DECLARE_LIST (PushUniformSPtr, PushUniform)
 
 Castor3D::DECLARE_LIST (UniformSPtr, Uniform)
 
 Castor3D::DECLARE_LIST (UniformBufferSPtr, UniformBufferPtr)
 
 Castor3D::DECLARE_LIST (ShaderStorageBufferSPtr, ShaderStorageBufferPtr)
 
 Castor3D::DECLARE_LIST (AtomicCounterBufferSPtr, AtomicCounterBufferPtr)
 
 Castor3D::DECLARE_MAP (Castor::String, PushUniformWPtr, PushUniform)
 
 Castor3D::DECLARE_MAP (Castor::String, UniformWPtr, Uniform)
 
 Castor3D::DECLARE_MAP (ShaderProgramRPtr, UniformBufferBindingUPtr, UniformBufferBinding)
 
 Castor3D::DECLARE_MAP (Castor::String, UniformBufferWPtr, UniformBufferPtrStr)
 
 Castor3D::DECLARE_MAP (Castor::String, ShaderStorageBufferWPtr, ShaderStorageBufferPtrStr)
 
 Castor3D::DECLARE_MAP (Castor::String, AtomicCounterBufferWPtr, AtomicCounterBufferPtrStr)
 
 Castor3D::DECLARE_MAP (ShaderType, UniformBufferWPtr, UniformBufferPtrShader)
 
 Castor3D::DECLARE_MAP (ShaderType, ShaderStorageBufferWPtr, ShaderStorageBufferPtrShader)
 
 Castor3D::DECLARE_MAP (ShaderType, AtomicCounterBufferWPtr, AtomicCounterBufferPtrShader)
 

Documentation des macros

◆ STRUCT_VTX_OUTPUT

#define STRUCT_VTX_OUTPUT (   Writer)
Valeur :
GLSL::Struct VtxOutput{ l_writer, cuT( "VtxOutput" ) };\
auto vtx_worldSpacePosition = VtxOutput.GetMember< GLSL::Vec3 >( cuT( "vtx_worldSpacePosition" ) );\
auto vtx_normal = VtxOutput.GetMember< GLSL::Vec3 >( cuT( "vtx_normal" ) );\
auto vtx_tangent = VtxOutput.GetMember< GLSL::Vec3 >( cuT( "vtx_tangent" ) );\
auto vtx_bitangent = VtxOutput.GetMember< GLSL::Vec3 >( cuT( "vtx_bitangent" ) );\
auto vtx_texture = VtxOutput.GetMember< GLSL::Vec3 >( cuT( "vtx_texture" ) );\
auto vtx_instance = VtxOutput.GetMember< GLSL::Int >( cuT( "vtx_instance" ) );\
VtxOutput.End()

◆ UBO_BILLBOARD

#define UBO_BILLBOARD (   Writer)
Valeur :
GLSL::Ubo l_billboard{ l_writer, ShaderProgram::BufferBillboards };\
auto c3d_v2iDimensions = l_billboard.GetUniform< IVec2 >( ShaderProgram::Dimensions );\
auto c3d_v2iWindowSize = l_billboard.GetUniform< IVec2 >( ShaderProgram::WindowSize );\
l_billboard.End()

◆ UBO_MATRIX

#define UBO_MATRIX (   Writer)
Valeur :
GLSL::Ubo l_matrices{ l_writer, ShaderProgram::BufferMatrix };\
auto c3d_mtxProjection = l_matrices.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxProjection );\
auto c3d_mtxView = l_matrices.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxView );\
l_matrices.End()

◆ UBO_MODEL

#define UBO_MODEL (   Writer)
Valeur :
GLSL::Ubo l_model{ l_writer, ShaderProgram::BufferModel };\
auto c3d_iShadowReceiver = l_model.GetUniform< GLSL::Int >( ShaderProgram::ShadowReceiver );\
l_model.End()

◆ UBO_MODEL_MATRIX

#define UBO_MODEL_MATRIX (   Writer)
Valeur :
GLSL::Ubo l_modelMatrices{ l_writer, ShaderProgram::BufferModelMatrix };\
auto c3d_mtxModel = l_modelMatrices.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxModel );\
auto c3d_mtxNormal = l_modelMatrices.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxNormal );\
l_modelMatrices.End()

◆ UBO_MORPHING

#define UBO_MORPHING (   Writer,
  Flags 
)
Valeur :
GLSL::Ubo l_morphing{ l_writer, ShaderProgram::BufferMorphing };\
auto c3d_fTime = l_morphing.GetUniform< GLSL::Float >( ShaderProgram::Time, CheckFlag( Flags, ProgramFlag::eMorphing ) );\
l_morphing.End()

◆ UBO_OVERLAY

#define UBO_OVERLAY (   Writer)
Valeur :
GLSL::Ubo l_overlay{ l_writer, ShaderProgram::BufferOverlay };\
auto c3d_v2iPosition = l_overlay.GetUniform< GLSL::IVec2 >( ShaderProgram::OvPosition );\
l_overlay.End()

◆ UBO_PASS

#define UBO_PASS (   Writer)
Valeur :
GLSL::Ubo l_pass{ l_writer, ShaderProgram::BufferPass };\
auto c3d_mtxTexture0 = l_pass.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxTexture[0] );\
auto c3d_mtxTexture1 = l_pass.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxTexture[1] );\
auto c3d_mtxTexture2 = l_pass.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxTexture[2] );\
auto c3d_mtxTexture3 = l_pass.GetUniform< GLSL::Mat4 >( RenderPipeline::MtxTexture[3] );\
auto c3d_v4MatAmbient = l_pass.GetUniform< GLSL::Vec4 >( ShaderProgram::MatAmbient );\
auto c3d_v4MatDiffuse = l_pass.GetUniform< GLSL::Vec4 >( ShaderProgram::MatDiffuse );\
auto c3d_v4MatEmissive = l_pass.GetUniform< GLSL::Vec4 >( ShaderProgram::MatEmissive );\
auto c3d_v4MatSpecular = l_pass.GetUniform< GLSL::Vec4 >( ShaderProgram::MatSpecular );\
auto c3d_fMatShininess = l_pass.GetUniform< GLSL::Float >( ShaderProgram::MatShininess );\
auto c3d_fMatOpacity = l_pass.GetUniform< GLSL::Float >( ShaderProgram::MatOpacity );\
l_pass.End()

◆ UBO_SCENE

#define UBO_SCENE (   Writer)
Valeur :
GLSL::Ubo l_scene{ l_writer, ShaderProgram::BufferScene };\
auto c3d_v4AmbientLight = l_scene.GetUniform< GLSL::Vec4 >( ShaderProgram::AmbientLight );\
auto c3d_v4BackgroundColour = l_scene.GetUniform< GLSL::Vec4 >( ShaderProgram::BackgroundColour );\
auto c3d_iLightsCount = l_scene.GetUniform< GLSL::IVec4 >( ShaderProgram::LightsCount );\
auto c3d_v3CameraPosition = l_scene.GetUniform< GLSL::Vec3 >( ShaderProgram::CameraPos );\
auto c3d_iFogType = l_scene.GetUniform< GLSL::Int >( ShaderProgram::FogType );\
auto c3d_fFogDensity = l_scene.GetUniform< GLSL::Float >( ShaderProgram::FogDensity );\
l_scene.End()

◆ UBO_SKINNING

#define UBO_SKINNING (   Writer,
  Flags 
)
Valeur :
GLSL::Ubo l_skinning{ l_writer, ShaderProgram::BufferSkinning };\
auto c3d_mtxBones = l_skinning.GetUniform< GLSL::Mat4 >( ShaderProgram::Bones, 400, CheckFlag( Flags, ProgramFlag::eSkinning ) );\
l_skinning.End()