Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe Castor3D::ShaderProgramabstract

Implémentation de base d'un programme de shader, utilisé afin d'exposer les fonctions communes aux langages de shader. Plus de détails...

+ Graphe d'héritage de Castor3D::ShaderProgram:
+ Graphe de collaboration de Castor3D::ShaderProgram:

Classes

class  TextWriter
 Loader de ShaderProgram. Plus de détails...
 

Fonctions membres publiques

C3D_API ShaderProgram (RenderSystem &p_renderSystem)
 Constructeur. Plus de détails...
 
virtual C3D_API ~ShaderProgram ()
 Destructeur. Plus de détails...
 
C3D_API ShaderObjectSPtr CreateObject (ShaderType p_type)
 Crée le shader object voulu. Plus de détails...
 
C3D_API void SetFile (ShaderModel p_eModel, Castor::Path const &p_pathFile)
 Définit le fichier utilisé par tous les objets. Plus de détails...
 
C3D_API ShaderStorageBufferCreateStorageBuffer (Castor::String const &p_name, ShaderTypeFlags const &p_shaderMask)
 Crée un tampon de stockage. Plus de détails...
 
C3D_API ShaderStorageBufferSPtr FindStorageBuffer (Castor::String const &p_name) const
 Trouve un tampon de stockage. Plus de détails...
 
C3D_API AtomicCounterBufferCreateAtomicCounterBuffer (Castor::String const &p_name, ShaderTypeFlags const &p_shaderMask)
 Crée un tampon de compteurs atomiques. Plus de détails...
 
C3D_API AtomicCounterBufferSPtr FindAtomicCounterBuffer (Castor::String const &p_name) const
 Trouve un tampon de compteurs atomiques. Plus de détails...
 
C3D_API void ResetToCompile ()
 Réinitialise les variables de compilation afin de pouvoir compiler le shader à nouveau. Plus de détails...
 
C3D_API void SetInputType (ShaderType p_target, Topology p_topology)
 Définit le type des primitives en entrée. Plus de détails...
 
C3D_API void SetOutputType (ShaderType p_target, Topology p_topology)
 Définit le type des primitives en sortie. Plus de détails...
 
C3D_API void SetOutputVtxCount (ShaderType p_target, uint8_t p_count)
 Définit le nombre de vertices générés. Plus de détails...
 
C3D_API void SetFile (ShaderType p_target, ShaderModel p_eModel, Castor::Path const &p_pathFile)
 Définit le fichier du shader pour le modèle donné. Plus de détails...
 
C3D_API Castor::Path GetFile (ShaderType p_target, ShaderModel p_eModel) const
 Récupère le fichier du shader pour le modèle donné. Plus de détails...
 
C3D_API bool HasFile (ShaderType p_target) const
 Dit si le shader a un fichier source, quel que soit son modèle. Plus de détails...
 
C3D_API void SetSource (ShaderType p_target, ShaderModel p_eModel, Castor::String const &p_strSource)
 Définit la source du shader pour le modèle donné. Plus de détails...
 
C3D_API Castor::String GetSource (ShaderType p_target, ShaderModel p_eModel) const
 Récupère la source du shader pour le modèle donné. Plus de détails...
 
C3D_API bool HasSource (ShaderType p_target) const
 Dit si le shader a un code source, quel que soit son modèle. Plus de détails...
 
C3D_API bool HasObject (ShaderType p_target) const
 Dit si le programme a un shader du type donné. Plus de détails...
 
C3D_API ShaderStatus GetObjectStatus (ShaderType p_target) const
 
C3D_API PushUniformSPtr CreateUniform (UniformType p_type, Castor::String const &p_name, ShaderType p_shader, int p_nbOcc=1)
 Crée une variable. Plus de détails...
 
template<UniformType Type>
std::shared_ptr< TPushUniform< Type > > CreateUniform (Castor::String const &p_name, ShaderType p_shader, int p_nbOcc=1)
 Crée une variable. Plus de détails...
 
C3D_API PushUniformSPtr FindUniform (UniformType p_type, Castor::String const &p_name, ShaderType p_shader) const
 Cherche une variable. Plus de détails...
 
template<UniformType Type>
std::shared_ptr< TPushUniform< Type > > FindUniform (Castor::String const &p_name, ShaderType p_shader) const
 Cherche une variable. Plus de détails...
 
C3D_API PushUniformList & GetUniforms (ShaderType p_type)
 Récupère les variables de frame liées à un type de shader particulier. Plus de détails...
 
C3D_API PushUniformList const & GetUniforms (ShaderType p_type) const
 Récupère les variables de frame liées à un type de shader particulier. Plus de détails...
 
virtual C3D_API void Cleanup ()=0
 Nettoie le programme. Plus de détails...
 
virtual C3D_API bool Initialise ()=0
 Initialise le programme. Plus de détails...
 
virtual C3D_API void Bind () const =0
 Active le programme. Plus de détails...
 
virtual C3D_API void Unbind () const =0
 Désactive le programme. Plus de détails...
 
virtual C3D_API bool Link ()=0
 Link tous les objets du programme. Plus de détails...
 
virtual C3D_API ProgramInputLayout const & GetLayout () const =0
 
virtual C3D_API ProgramInputLayoutGetLayout ()=0
 
void SetTransformLayout (BufferDeclaration const &p_declaration)
 Définit le layout de transform feedback. Plus de détails...
 
ShaderStorageBufferPtrList & GetShaderStorageBuffers (ShaderType p_type)
 Récupère les tampons de stockage liés à un type de shader particulier. Plus de détails...
 
ShaderStorageBufferPtrList const & GetShaderStorageBuffers (ShaderType p_type) const
 Récupère les tampons de stockage liés à un type de shader particulier. Plus de détails...
 
ShaderStorageBufferPtrList & GetShaderStorageBuffers ()
 
ShaderStorageBufferPtrList const & GetShaderStorageBuffers () const
 
AtomicCounterBufferPtrList & GetAtomicCounterBuffers (ShaderType p_type)
 Récupère les tampons de compteurs atomiques liés à un type de shader particulier. Plus de détails...
 
AtomicCounterBufferPtrList const & GetAtomicCounterBuffers (ShaderType p_type) const
 Récupère les tampons de compteurs atomiques liés à un type de shader particulier. Plus de détails...
 
AtomicCounterBufferPtrList & GetAtomicCounterBuffers ()
 
AtomicCounterBufferPtrList const & GetAtomicCounterBuffers () const
 
ProgramStatus GetStatus () const
 Récupère le statut de link du programme. Plus de détails...
 

Attributs publics statiques

Attributes
static C3D_API const Castor::String Position
 
static C3D_API const Castor::String Normal
 
static C3D_API const Castor::String Tangent
 
static C3D_API const Castor::String Bitangent
 
static C3D_API const Castor::String Texture
 
static C3D_API const Castor::String Colour
 
static C3D_API const Castor::String Position2
 
static C3D_API const Castor::String Normal2
 
static C3D_API const Castor::String Tangent2
 
static C3D_API const Castor::String Bitangent2
 
static C3D_API const Castor::String Texture2
 
static C3D_API const Castor::String Colour2
 
static C3D_API const Castor::String Text
 
static C3D_API const Castor::String BoneIds0
 
static C3D_API const Castor::String BoneIds1
 
static C3D_API const Castor::String Weights0
 
static C3D_API const Castor::String Weights1
 
static C3D_API const Castor::String Transform
 
Scene
static C3D_API const Castor::String CameraPos
 
static C3D_API const Castor::String AmbientLight
 
static C3D_API const Castor::String BackgroundColour
 
static C3D_API const Castor::String FogType
 
static C3D_API const Castor::String FogDensity
 
static C3D_API const Castor::String LightsCount
 
static C3D_API const Castor::String Lights
 
Pass
static C3D_API const Castor::String MatAmbient
 
static C3D_API const Castor::String MatDiffuse
 
static C3D_API const Castor::String MatSpecular
 
static C3D_API const Castor::String MatEmissive
 
static C3D_API const Castor::String MatShininess
 
static C3D_API const Castor::String MatOpacity
 
static C3D_API const Castor::String MapShadow
 
static C3D_API const Castor::String MapText
 
Model
static C3D_API const Castor::String ShadowReceiver
 
Animation
static C3D_API const Castor::String Bones
 
static C3D_API const Castor::String Time
 
Billboard
static C3D_API const Castor::String Dimensions
 
static C3D_API const Castor::String WindowSize
 
Overlay
static C3D_API const Castor::String OvPosition
 
Textures
static C3D_API const Castor::String MapColour
 
static C3D_API const Castor::String MapAmbient
 
static C3D_API const Castor::String MapDiffuse
 
static C3D_API const Castor::String MapSpecular
 
static C3D_API const Castor::String MapEmissive
 
static C3D_API const Castor::String MapNormal
 
static C3D_API const Castor::String MapOpacity
 
static C3D_API const Castor::String MapGloss
 
static C3D_API const Castor::String MapHeight
 
Frame Variable Buffers
static C3D_API const Castor::String BufferMatrix
 
static C3D_API const Castor::String BufferModelMatrix
 
static C3D_API const Castor::String BufferScene
 
static C3D_API const Castor::String BufferPass
 
static C3D_API const Castor::String BufferModel
 
static C3D_API const Castor::String BufferBillboards
 
static C3D_API const Castor::String BufferSkinning
 
static C3D_API const Castor::String BufferMorphing
 
static C3D_API const Castor::String BufferOverlay
 

Fonctions membres protégées

C3D_API void DoCleanup ()
 Nettoie le programme. Plus de détails...
 
C3D_API bool DoInitialise ()
 Initialise le programme. Plus de détails...
 
C3D_API void DoBind () const
 Active le programme. Plus de détails...
 
C3D_API void DoUnbind () const
 Désactive le programme. Plus de détails...
 
C3D_API bool DoLink ()
 Link tous les objets du programme. Plus de détails...
 

Attributs protégés

ProgramStatus m_status { ProgramStatus::eNotLinked }
 
std::array< ShaderObjectSPtr, size_t(ShaderType::eCount) > m_shaders
 
std::vector< ShaderObjectSPtr > m_activeShaders
 
std::array< Castor::Path, size_t(ShaderModel::eCount) > m_arrayFiles
 
ShaderStorageBufferPtrStrMap m_storageBuffersByName
 
std::array< ShaderStorageBufferPtrList, size_t(ShaderType::eCount) > m_storageBuffers
 
ShaderStorageBufferPtrList m_listStorageBuffers
 
AtomicCounterBufferPtrStrMap m_atomicCounterBuffersByName
 
std::array< AtomicCounterBufferPtrList, size_t(ShaderType::eCount) > m_atomicCounterBuffers
 
AtomicCounterBufferPtrList m_listAtomicCounterBuffers
 
BufferDeclaration m_declaration
 

Amis

class Castor::TextWriter< Castor3D::ShaderProgram >
 

Description détaillée

Implémentation de base d'un programme de shader, utilisé afin d'exposer les fonctions communes aux langages de shader.

Auteur
Sylvain DOREMUS
Version
0.6.1.2
Date
24/01/2011

Documentation des constructeurs et destructeur

◆ ShaderProgram()

C3D_API Castor3D::ShaderProgram::ShaderProgram ( RenderSystem p_renderSystem)
explicit

Constructeur.

Paramètres
[in]p_renderSystemL'instance du RenderSystem.

◆ ~ShaderProgram()

virtual C3D_API Castor3D::ShaderProgram::~ShaderProgram ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ Bind()

virtual C3D_API void Castor3D::ShaderProgram::Bind ( ) const
pure virtual

Active le programme.

◆ Cleanup()

virtual C3D_API void Castor3D::ShaderProgram::Cleanup ( )
pure virtual

Nettoie le programme.

◆ CreateAtomicCounterBuffer()

C3D_API AtomicCounterBuffer& Castor3D::ShaderProgram::CreateAtomicCounterBuffer ( Castor::String const &  p_name,
ShaderTypeFlags const &  p_shaderMask 
)

Crée un tampon de compteurs atomiques.

Paramètres
[in]p_nameLe nom du tampon.
[in]p_shaderMaskCombinaison de ShaderTypeFlag, pour déterminer les shaders auxquels il doit être lié.
Renvoie
Le tampon de stockage créé ou récupéré.

◆ CreateObject()

C3D_API ShaderObjectSPtr Castor3D::ShaderProgram::CreateObject ( ShaderType  p_type)

Crée le shader object voulu.

Paramètres
[in]p_typeLe shader object concerné.

◆ CreateStorageBuffer()

C3D_API ShaderStorageBuffer& Castor3D::ShaderProgram::CreateStorageBuffer ( Castor::String const &  p_name,
ShaderTypeFlags const &  p_shaderMask 
)

Crée un tampon de stockage.

Paramètres
[in]p_nameLe nom du tampon.
[in]p_shaderMaskCombinaison de ShaderTypeFlag, pour déterminer les shaders auxquels il doit être lié.
Renvoie
Le tampon de stockage créé ou récupéré.

◆ CreateUniform() [1/2]

C3D_API PushUniformSPtr Castor3D::ShaderProgram::CreateUniform ( UniformType  p_type,
Castor::String const &  p_name,
ShaderType  p_shader,
int  p_nbOcc = 1 
)

Crée une variable.

Paramètres
[in]p_typeLe type de variable.
[in]p_nameLe nom de la variable.
[in]p_shaderLe type du shader.
[in]p_nbOccLes dimensions du tableau.
Renvoie
La variable créée, nullptr en cas d'échec.

◆ CreateUniform() [2/2]

template<UniformType Type>
std::shared_ptr< TPushUniform< Type > > Castor3D::ShaderProgram::CreateUniform ( Castor::String const &  p_name,
ShaderType  p_shader,
int  p_nbOcc = 1 
)
inline

Crée une variable.

Paramètres
[in]p_nameLe nom de la variable.
[in]p_shaderLe type du shader.
[in]p_nbOccLes dimensions du tableau.
Renvoie
La variable créée, nullptr en cas d'échec.

Références C3D_API.

◆ DoBind()

C3D_API void Castor3D::ShaderProgram::DoBind ( ) const
protected

Active le programme.

◆ DoCleanup()

C3D_API void Castor3D::ShaderProgram::DoCleanup ( )
protected

Nettoie le programme.

◆ DoInitialise()

C3D_API bool Castor3D::ShaderProgram::DoInitialise ( )
protected

Initialise le programme.

◆ DoLink()

C3D_API bool Castor3D::ShaderProgram::DoLink ( )
protected

Link tous les objets du programme.

◆ DoUnbind()

C3D_API void Castor3D::ShaderProgram::DoUnbind ( ) const
protected

Désactive le programme.

◆ FindAtomicCounterBuffer()

C3D_API AtomicCounterBufferSPtr Castor3D::ShaderProgram::FindAtomicCounterBuffer ( Castor::String const &  p_name) const

Trouve un tampon de compteurs atomiques.

Paramètres
[in]p_nameLe nom du tampon.
Renvoie
Le tampon trouvé, nullptr en cas d'échec.

◆ FindStorageBuffer()

C3D_API ShaderStorageBufferSPtr Castor3D::ShaderProgram::FindStorageBuffer ( Castor::String const &  p_name) const

Trouve un tampon de stockage.

Paramètres
[in]p_nameLe nom du tampon.
Renvoie
Le tampon trouvé, nullptr en cas d'échec.

◆ FindUniform() [1/2]

C3D_API PushUniformSPtr Castor3D::ShaderProgram::FindUniform ( UniformType  p_type,
Castor::String const &  p_name,
ShaderType  p_shader 
) const

Cherche une variable.

Paramètres
[in]p_typeLe type de variable.
[in]p_nameLe nom de la variable.
[in]p_shaderLe type du shader.
Renvoie
La variable trouvée, nullptr en cas d'échec.

◆ FindUniform() [2/2]

template<UniformType Type>
std::shared_ptr< TPushUniform< Type > > Castor3D::ShaderProgram::FindUniform ( Castor::String const &  p_name,
ShaderType  p_shader 
) const
inline

Cherche une variable.

Paramètres
[in]p_nameLe nom de la variable.
[in]p_shaderLe type du shader.
Renvoie
La variable trouvé, nullptr en cas d'échec.

Références C3D_API.

◆ GetAtomicCounterBuffers() [1/4]

AtomicCounterBufferPtrList& Castor3D::ShaderProgram::GetAtomicCounterBuffers ( ShaderType  p_type)
inline

Récupère les tampons de compteurs atomiques liés à un type de shader particulier.

Paramètres
[in]p_typeThe shader type
Renvoie
La liste

◆ GetAtomicCounterBuffers() [2/4]

AtomicCounterBufferPtrList const& Castor3D::ShaderProgram::GetAtomicCounterBuffers ( ShaderType  p_type) const
inline

Récupère les tampons de compteurs atomiques liés à un type de shader particulier.

Paramètres
[in]p_typeThe shader type
Renvoie
La liste

◆ GetAtomicCounterBuffers() [3/4]

AtomicCounterBufferPtrList& Castor3D::ShaderProgram::GetAtomicCounterBuffers ( )
inline
Renvoie
La liste de tampons de compteurs atomiques.

◆ GetAtomicCounterBuffers() [4/4]

AtomicCounterBufferPtrList const& Castor3D::ShaderProgram::GetAtomicCounterBuffers ( ) const
inline
Renvoie
La liste de tampons de compteurs atomiques.

◆ GetFile()

C3D_API Castor::Path Castor3D::ShaderProgram::GetFile ( ShaderType  p_target,
ShaderModel  p_eModel 
) const

Récupère le fichier du shader pour le modèle donné.

Paramètres
[in]p_targetLe shader object concerné.
[in]p_eModelLe modèle de shader.
Renvoie
Le nom du fichier.

◆ GetLayout() [1/2]

virtual C3D_API ProgramInputLayout const& Castor3D::ShaderProgram::GetLayout ( ) const
pure virtual
Renvoie
Le layout des sommets du programme.

◆ GetLayout() [2/2]

virtual C3D_API ProgramInputLayout& Castor3D::ShaderProgram::GetLayout ( )
pure virtual
Renvoie
Le layout des sommets du programme.

◆ GetObjectStatus()

C3D_API ShaderStatus Castor3D::ShaderProgram::GetObjectStatus ( ShaderType  p_target) const
Renvoie
Le statut du type d'objet donné.

◆ GetShaderStorageBuffers() [1/4]

ShaderStorageBufferPtrList& Castor3D::ShaderProgram::GetShaderStorageBuffers ( ShaderType  p_type)
inline

Récupère les tampons de stockage liés à un type de shader particulier.

Paramètres
[in]p_typeThe shader type
Renvoie
La liste

◆ GetShaderStorageBuffers() [2/4]

ShaderStorageBufferPtrList const& Castor3D::ShaderProgram::GetShaderStorageBuffers ( ShaderType  p_type) const
inline

Récupère les tampons de stockage liés à un type de shader particulier.

Paramètres
[in]p_typeThe shader type
Renvoie
La liste

◆ GetShaderStorageBuffers() [3/4]

ShaderStorageBufferPtrList& Castor3D::ShaderProgram::GetShaderStorageBuffers ( )
inline
Renvoie
La liste de tampons de stockage.

◆ GetShaderStorageBuffers() [4/4]

ShaderStorageBufferPtrList const& Castor3D::ShaderProgram::GetShaderStorageBuffers ( ) const
inline
Renvoie
La liste de tampons de stockage.

◆ GetSource()

C3D_API Castor::String Castor3D::ShaderProgram::GetSource ( ShaderType  p_target,
ShaderModel  p_eModel 
) const

Récupère la source du shader pour le modèle donné.

Paramètres
[in]p_targetLe shader object concerné.
[in]p_eModelLe modèle de shader.
Renvoie
Le code de la source.

◆ GetStatus()

ProgramStatus Castor3D::ShaderProgram::GetStatus ( ) const
inline

Récupère le statut de link du programme.

Renvoie
La valeur.

Références C3D_API.

◆ GetUniforms() [1/2]

C3D_API PushUniformList& Castor3D::ShaderProgram::GetUniforms ( ShaderType  p_type)

Récupère les variables de frame liées à un type de shader particulier.

Paramètres
[in]p_typeThe shader type.
Renvoie
La liste.

◆ GetUniforms() [2/2]

C3D_API PushUniformList const& Castor3D::ShaderProgram::GetUniforms ( ShaderType  p_type) const

Récupère les variables de frame liées à un type de shader particulier.

Paramètres
[in]p_typeThe shader type.
Renvoie
La liste.

◆ HasFile()

C3D_API bool Castor3D::ShaderProgram::HasFile ( ShaderType  p_target) const

Dit si le shader a un fichier source, quel que soit son modèle.

Paramètres
[in]p_targetLe shader object concerné.
Renvoie
true si le shader a un fichier source.

◆ HasObject()

C3D_API bool Castor3D::ShaderProgram::HasObject ( ShaderType  p_target) const

Dit si le programme a un shader du type donné.

Paramètres
[in]p_targetLe type du shader object.
Renvoie
true si le shader object existe.

◆ HasSource()

C3D_API bool Castor3D::ShaderProgram::HasSource ( ShaderType  p_target) const

Dit si le shader a un code source, quel que soit son modèle.

Paramètres
[in]p_targetLe shader object concerné.
Renvoie
true si le shader a un code source.

◆ Initialise()

virtual C3D_API bool Castor3D::ShaderProgram::Initialise ( )
pure virtual

Initialise le programme.

◆ Link()

virtual C3D_API bool Castor3D::ShaderProgram::Link ( )
pure virtual

Link tous les objets du programme.

◆ ResetToCompile()

C3D_API void Castor3D::ShaderProgram::ResetToCompile ( )

Réinitialise les variables de compilation afin de pouvoir compiler le shader à nouveau.

◆ SetFile() [1/2]

C3D_API void Castor3D::ShaderProgram::SetFile ( ShaderModel  p_eModel,
Castor::Path const &  p_pathFile 
)

Définit le fichier utilisé par tous les objets.

Paramètres
[in]p_eModelLe modèle de shader.
[in]p_pathFileLe nom du fichier.

◆ SetFile() [2/2]

C3D_API void Castor3D::ShaderProgram::SetFile ( ShaderType  p_target,
ShaderModel  p_eModel,
Castor::Path const &  p_pathFile 
)

Définit le fichier du shader pour le modèle donné.

Remarques
Le fichier chargé sera celui du plus haut profil supporté.
Paramètres
[in]p_targetLe shader object concerné.
[in]p_eModelLe modèle de shader.
[in]p_pathFileLe nom du fichier.

◆ SetInputType()

C3D_API void Castor3D::ShaderProgram::SetInputType ( ShaderType  p_target,
Topology  p_topology 
)

Définit le type des primitives en entrée.

Paramètres
[in]p_targetLe shader object concerné.
[in]p_topologyLe type des primitives en entrée.

◆ SetOutputType()

C3D_API void Castor3D::ShaderProgram::SetOutputType ( ShaderType  p_target,
Topology  p_topology 
)

Définit le type des primitives en sortie.

Paramètres
[in]p_targetLe shader object concerné.
[in]p_topologyLe type des primitives en sortie.

◆ SetOutputVtxCount()

C3D_API void Castor3D::ShaderProgram::SetOutputVtxCount ( ShaderType  p_target,
uint8_t  p_count 
)

Définit le nombre de vertices générés.

Paramètres
[in]p_targetLe shader object concerné.
[in]p_countLe compte.

◆ SetSource()

C3D_API void Castor3D::ShaderProgram::SetSource ( ShaderType  p_target,
ShaderModel  p_eModel,
Castor::String const &  p_strSource 
)

Définit la source du shader pour le modèle donné.

Remarques
La source chargée sera celle du plus haut profil supporté.
Paramètres
[in]p_targetLe shader object concerné.
[in]p_eModelLe modèle de shader.
[in]p_strSourceLe code de la source.

◆ SetTransformLayout()

void Castor3D::ShaderProgram::SetTransformLayout ( BufferDeclaration const &  p_declaration)
inline

Définit le layout de transform feedback.

Paramètres
[in]p_declarationLe layout.

◆ Unbind()

virtual C3D_API void Castor3D::ShaderProgram::Unbind ( ) const
pure virtual

Désactive le programme.

Documentation des fonctions amies et associées

◆ Castor::TextWriter< Castor3D::ShaderProgram >

friend class Castor::TextWriter< Castor3D::ShaderProgram >
friend

Documentation des données membres

◆ AmbientLight

C3D_API const Castor::String Castor3D::ShaderProgram::AmbientLight
static

Nom de la frame variable contenant la lumière ambiante.

◆ BackgroundColour

C3D_API const Castor::String Castor3D::ShaderProgram::BackgroundColour
static

Nom de la frame variable contenant la couleur de fond.

◆ Bitangent

C3D_API const Castor::String Castor3D::ShaderProgram::Bitangent
static

Nom de l'attribut bitangente.

◆ Bitangent2

C3D_API const Castor::String Castor3D::ShaderProgram::Bitangent2
static

Nom de l'attribut bitangente pour les animations par sommet.

◆ BoneIds0

C3D_API const Castor::String Castor3D::ShaderProgram::BoneIds0
static

Nom du premier attribut d'ID des bones.

◆ BoneIds1

C3D_API const Castor::String Castor3D::ShaderProgram::BoneIds1
static

Nom du second attribut d'ID des bones.

◆ Bones

C3D_API const Castor::String Castor3D::ShaderProgram::Bones
static

Nom de l'attribut de de matrices d'os.

◆ BufferBillboards

C3D_API const Castor::String Castor3D::ShaderProgram::BufferBillboards
static

Nom du frame variable buffer contenant les données de billboards.

◆ BufferMatrix

C3D_API const Castor::String Castor3D::ShaderProgram::BufferMatrix
static

Nom du frame variable buffer contenant les matrices.

◆ BufferModel

C3D_API const Castor::String Castor3D::ShaderProgram::BufferModel
static

Nom du frame variable buffer contenant les données de modèle.

◆ BufferModelMatrix

C3D_API const Castor::String Castor3D::ShaderProgram::BufferModelMatrix
static

Nom du frame variable buffer contenant les matrices modèle.

◆ BufferMorphing

C3D_API const Castor::String Castor3D::ShaderProgram::BufferMorphing
static

Nom du frame variable buffer contenant les données d'animation de morphing.

◆ BufferOverlay

C3D_API const Castor::String Castor3D::ShaderProgram::BufferOverlay
static

Nom du frame variable buffer contenant les informations de l'incrustation.

◆ BufferPass

C3D_API const Castor::String Castor3D::ShaderProgram::BufferPass
static

Nom du frame variable buffer contenant les données de passe.

◆ BufferScene

C3D_API const Castor::String Castor3D::ShaderProgram::BufferScene
static

Nom du frame variable buffer contenant les données de scène.

◆ BufferSkinning

C3D_API const Castor::String Castor3D::ShaderProgram::BufferSkinning
static

Nom du frame variable buffer contenant les données d'animation de skinning.

◆ CameraPos

C3D_API const Castor::String Castor3D::ShaderProgram::CameraPos
static

Nom de la frame variable contenant la position de la caméra.

◆ Colour

C3D_API const Castor::String Castor3D::ShaderProgram::Colour
static

Nom du de l'attribut couleur.

◆ Colour2

C3D_API const Castor::String Castor3D::ShaderProgram::Colour2
static

Nom du de l'attribut couleur pour les animations par sommet.

◆ Dimensions

C3D_API const Castor::String Castor3D::ShaderProgram::Dimensions
static

Nom de la frame variable contenant les dimensions du billboard.

◆ FogDensity

C3D_API const Castor::String Castor3D::ShaderProgram::FogDensity
static

Nom de la frame variable contenant la densité du brouillard.

◆ FogType

C3D_API const Castor::String Castor3D::ShaderProgram::FogType
static

Nom de la frame variable contenant le type de brouillard.

◆ Lights

C3D_API const Castor::String Castor3D::ShaderProgram::Lights
static

Nom de la frame variable contenant les lumières.

◆ LightsCount

C3D_API const Castor::String Castor3D::ShaderProgram::LightsCount
static

Nom de la frame variable contenant le compte des lumières.

◆ m_activeShaders

std::vector< ShaderObjectSPtr > Castor3D::ShaderProgram::m_activeShaders
protected

Le tableau de shaders actifs.

◆ m_arrayFiles

std::array< Castor::Path, size_t( ShaderModel::eCount ) > Castor3D::ShaderProgram::m_arrayFiles
protected

Tableau des chemins de fichiers, triés par modèle de shader.

◆ m_atomicCounterBuffers

std::array< AtomicCounterBufferPtrList, size_t( ShaderType::eCount ) > Castor3D::ShaderProgram::m_atomicCounterBuffers
protected

La liste des tampons de compteurs atomiques, triés par type de shader.

◆ m_atomicCounterBuffersByName

AtomicCounterBufferPtrStrMap Castor3D::ShaderProgram::m_atomicCounterBuffersByName
protected

La liste des tampons de compteurs atomiques, triés par nom.

◆ m_declaration

BufferDeclaration Castor3D::ShaderProgram::m_declaration
protected

Le layout de transform feedback.

◆ m_listAtomicCounterBuffers

AtomicCounterBufferPtrList Castor3D::ShaderProgram::m_listAtomicCounterBuffers
protected

La liste des tampons de compteurs atomiques.

◆ m_listStorageBuffers

ShaderStorageBufferPtrList Castor3D::ShaderProgram::m_listStorageBuffers
protected

La liste des tampons de stockage.

◆ m_shaders

std::array< ShaderObjectSPtr, size_t( ShaderType::eCount ) > Castor3D::ShaderProgram::m_shaders
protected

Le tableau de shaders.

◆ m_status

ProgramStatus Castor3D::ShaderProgram::m_status { ProgramStatus::eNotLinked }
protected

< Le statut du programme.

◆ m_storageBuffers

std::array< ShaderStorageBufferPtrList, size_t( ShaderType::eCount ) > Castor3D::ShaderProgram::m_storageBuffers
protected

La liste des tampons de stockage, triés par type de shader.

◆ m_storageBuffersByName

ShaderStorageBufferPtrStrMap Castor3D::ShaderProgram::m_storageBuffersByName
protected

La liste des tampons de stockage, triés par nom.

◆ MapAmbient

C3D_API const Castor::String Castor3D::ShaderProgram::MapAmbient
static

Nom de la frame variable contenant la texture de couleur ambiante.

◆ MapColour

C3D_API const Castor::String Castor3D::ShaderProgram::MapColour
static

Nom de la frame variable contenant la texture de couleur.

◆ MapDiffuse

C3D_API const Castor::String Castor3D::ShaderProgram::MapDiffuse
static

Nom de la frame variable contenant la texture de couleur diffuse.

◆ MapEmissive

C3D_API const Castor::String Castor3D::ShaderProgram::MapEmissive
static

Nom de la frame variable contenant la texture de couleur émissive.

◆ MapGloss

C3D_API const Castor::String Castor3D::ShaderProgram::MapGloss
static

Nom de la frame variable contenant la texture d'exposante.

◆ MapHeight

C3D_API const Castor::String Castor3D::ShaderProgram::MapHeight
static

Nom de la frame variable contenant texture de hauteur.

◆ MapNormal

C3D_API const Castor::String Castor3D::ShaderProgram::MapNormal
static

Nom de la frame variable contenant la texture de normales.

◆ MapOpacity

C3D_API const Castor::String Castor3D::ShaderProgram::MapOpacity
static

Nom de la frame variable contenant texture d'opacité.

◆ MapShadow

C3D_API const Castor::String Castor3D::ShaderProgram::MapShadow
static

Nom de la frame variable contenant l'image de shadow map.

◆ MapSpecular

C3D_API const Castor::String Castor3D::ShaderProgram::MapSpecular
static

Nom de la frame variable contenant la texture de couleur spéculaire.

◆ MapText

C3D_API const Castor::String Castor3D::ShaderProgram::MapText
static

Nom de la frame variable contenant l'image de texte pour les overlays.

◆ MatAmbient

C3D_API const Castor::String Castor3D::ShaderProgram::MatAmbient
static

Nom de la frame variable contenant la couleur ambiante du matériau.

◆ MatDiffuse

C3D_API const Castor::String Castor3D::ShaderProgram::MatDiffuse
static

Nom de la frame variable contenant la couleur diffuse du matériau.

◆ MatEmissive

C3D_API const Castor::String Castor3D::ShaderProgram::MatEmissive
static

Nom de la frame variable contenant la couleur émissive du matériau.

◆ MatOpacity

C3D_API const Castor::String Castor3D::ShaderProgram::MatOpacity
static

Nom de la frame variable contenant l'opacité du matériau.

◆ MatShininess

C3D_API const Castor::String Castor3D::ShaderProgram::MatShininess
static

Nom de la frame variable contenant l'exposante du matériau.

◆ MatSpecular

C3D_API const Castor::String Castor3D::ShaderProgram::MatSpecular
static

Nom de la frame variable contenant la couleur spéculaire du matériau.

◆ Normal

C3D_API const Castor::String Castor3D::ShaderProgram::Normal
static

Nom de l'attribut normale.

◆ Normal2

C3D_API const Castor::String Castor3D::ShaderProgram::Normal2
static

Nom de l'attribut normale pour les animations par sommet.

◆ OvPosition

C3D_API const Castor::String Castor3D::ShaderProgram::OvPosition
static

Nom de la frame variable contenant la position de l'incrustation.

◆ Position

C3D_API const Castor::String Castor3D::ShaderProgram::Position
static

Nom de l'attribut position.

◆ Position2

C3D_API const Castor::String Castor3D::ShaderProgram::Position2
static

Nom de l'attribut position pour les animations par sommet.

◆ ShadowReceiver

C3D_API const Castor::String Castor3D::ShaderProgram::ShadowReceiver
static

Nom de la frame variable contenant le statut de réception d'ombres.

◆ Tangent

C3D_API const Castor::String Castor3D::ShaderProgram::Tangent
static

Nom de l'attribut tangente.

◆ Tangent2

C3D_API const Castor::String Castor3D::ShaderProgram::Tangent2
static

Nom de l'attribut tangente pour les animations par sommet.

◆ Text

C3D_API const Castor::String Castor3D::ShaderProgram::Text
static

Nom du de l'attribut texture pour les incrustations texte.

◆ Texture

C3D_API const Castor::String Castor3D::ShaderProgram::Texture
static

Nom du de l'attribut texture.

◆ Texture2

C3D_API const Castor::String Castor3D::ShaderProgram::Texture2
static

Nom du de l'attribut texture pour les animations par sommet.

◆ Time

C3D_API const Castor::String Castor3D::ShaderProgram::Time
static

Nom de l'attribut du temps d'animation par sommet.

◆ Transform

C3D_API const Castor::String Castor3D::ShaderProgram::Transform
static

Nom de l'attribut de transformation d'instance.

◆ Weights0

C3D_API const Castor::String Castor3D::ShaderProgram::Weights0
static

Nom du premier attribut de poids des bones.

◆ Weights1

C3D_API const Castor::String Castor3D::ShaderProgram::Weights1
static

Nom du second attribut de poids des bones.

◆ WindowSize

C3D_API const Castor::String Castor3D::ShaderProgram::WindowSize
static

Nom de la frame variable contenant les dimensions de la fenêtre.


La documentation de cette classe a été générée à partir du fichier suivant :