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::ShaderProgramBaseabstract

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 de collaboration de Castor3D::ShaderProgramBase:

Classes

class  BinaryParser
 Loader de ShaderProgramBase. Plus de détails...
 
class  TextLoader
 Loader de ShaderProgramBase. Plus de détails...
 

Fonctions membres publiques

 ShaderProgramBase (RenderSystem *p_pRenderSystem, eSHADER_LANGUAGE p_eLanguage)
 Constructeur. Plus de détails...
 
virtual ~ShaderProgramBase ()
 Destructeur. Plus de détails...
 
virtual void Cleanup ()
 Nettoie le programme. Plus de détails...
 
virtual void Initialise ()
 Initialise le programme. Plus de détails...
 
Castor::String GetVertexShaderSource (uint32_t p_uiProgramFlags, bool p_bLightPass=false)
 Récupère le source du vertex shader selon les flags donnés. Plus de détails...
 
Castor::String GetPixelShaderSource (uint32_t p_uiFlags)
 Récupère le source du pixel shader selon les flags donnés. Plus de détails...
 
ShaderObjectBaseSPtr CreateObject (eSHADER_TYPE p_eType)
 Crée le shader object voulu. Plus de détails...
 
virtual void Begin (uint8_t p_byIndex, uint8_t p_byCount)
 Active le programme. Plus de détails...
 
virtual void End ()
 Désactive le programme. Plus de détails...
 
virtual void SetFile (eSHADER_MODEL p_eModel, Castor::Path const &p_pathFile)
 Définit le fichier utilisé par tous les objets. Plus de détails...
 
virtual bool Link ()
 Link tous les objets du programme. Plus de détails...
 
virtual int AssignLight ()
 Assigne une lumière et retourne son index. Plus de détails...
 
virtual void FreeLight (int p_iIndex)
 Libère une lumière. Plus de détails...
 
virtual void SetLightAmbient (int p_iIndex, Castor::Colour const &p_crColour)
 
virtual void SetLightDiffuse (int p_iIndex, Castor::Colour const &p_crColour)
 
virtual void SetLightSpecular (int p_iIndex, Castor::Colour const &p_crColour)
 
virtual void SetLightPosition (int p_iIndex, Castor::Point4f const &p_ptPosition)
 
virtual void SetLightOrientation (int p_iIndex, Castor::Matrix4x4r const &p_mtxOrientation)
 
virtual void SetLightAttenuation (int p_iIndex, Castor::Point3f const &p_fAtt)
 
virtual void SetLightExponent (int p_iIndex, float p_fExp)
 
virtual void SetLightCutOff (int p_iIndex, float p_fCut)
 
void ResetToCompile ()
 Réinitialise les variables de compilation afin de pouvoir compiler le shader à nouveau. Plus de détails...
 
virtual int GetAttributeLocation (Castor::String const &p_strName) const =0
 Récupère l'index d'un attribut de vertex dans le programme. Plus de détails...
 
FrameVariableBufferSPtr GetMatrixBuffer () const
 Récupère le tampon de variables de matrices. Plus de détails...
 
FrameVariableBufferSPtr GetPassBuffer () const
 Récupère le tampon de variables de passe. Plus de détails...
 
FrameVariableBufferSPtr GetSceneBuffer () const
 Récupère le tampon de variables de scène. Plus de détails...
 
FrameVariableBufferSPtr GetUserBuffer () const
 Récupère le tampon de variables constantes. Plus de détails...
 
void SetInputType (eSHADER_TYPE p_eTarget, eTOPOLOGY p_ePrimitiveType)
 Définit le type des primitives en entrée. Plus de détails...
 
void SetOutputType (eSHADER_TYPE p_eTarget, eTOPOLOGY p_ePrimitiveType)
 Définit le type des primitives en sortie. Plus de détails...
 
void SetOutputVtxCount (eSHADER_TYPE p_eTarget, uint8_t p_uiCount)
 Définit le nombre de vertices générés. Plus de détails...
 
void SetFile (eSHADER_TYPE p_eTarget, eSHADER_MODEL p_eModel, Castor::Path const &p_pathFile)
 Définit le fichier du shader pour le modèle donné Plus de détails...
 
Castor::Path GetFile (eSHADER_TYPE p_eTarget, eSHADER_MODEL p_eModel) const
 Récupère le fichier du shader pour le modèle donné Plus de détails...
 
void SetSource (eSHADER_TYPE p_eTarget, eSHADER_MODEL p_eModel, Castor::String const &p_strSource)
 Définit la source du shader pour le modèle donné Plus de détails...
 
Castor::String GetSource (eSHADER_TYPE p_eTarget, eSHADER_MODEL p_eModel) const
 Récupère la source du shader pour le modèle donné Plus de détails...
 
bool HasSource (eSHADER_TYPE p_eTarget) const
 Dit si le shader a un code source, quel que soit son modèle. Plus de détails...
 
void SetEntryPoint (eSHADER_TYPE p_eTarget, Castor::String const &p_strName)
 Définit le point d'entrée pour ls langages en ayant besoin. Plus de détails...
 
Castor::String GetEntryPoint (eSHADER_TYPE p_eTarget) const
 Récupère le point d'entrée du shader voulu. Plus de détails...
 
bool HasProgram (eSHADER_TYPE p_eTarget) const
 Dit si le programme a un shader du type donné Plus de détails...
 
OneTextureFrameVariableSPtr CreateFrameVariable (Castor::String const &p_strName, eSHADER_TYPE p_eType, int p_iNbOcc=1)
 Crée une variable. Plus de détails...
 
OneTextureFrameVariableSPtr FindFrameVariable (Castor::String const &p_strName, eSHADER_TYPE p_eType) const
 Cherche une variable. Plus de détails...
 
ePROGRAM_STATUS GetStatus () const
 Récupère le statut de link du programme. Plus de détails...
 
eSHADER_LANGUAGE GetLanguage () const
 Récupère le language du shader. Plus de détails...
 
RenderSystemGetRenderSystem () const
 Récupère le RenderSystem. Plus de détails...
 

Attributs publics statiques

Scene
static const Castor::String CameraPos
 Nom de la frame variable contenant la position de la caméra. Plus de détails...
 
static const Castor::String AmbientLight
 Nom de la frame variable contenant la lumière ambiante. Plus de détails...
 
static const Castor::String BackgroundColour
 Nom de la frame variable contenant la couleur de fond. Plus de détails...
 
static const Castor::String LightsCount
 Nom de la frame variable contenant le compte des lumières. Plus de détails...
 
static const Castor::String Lights
 Nom de la frame variable contenant les lumières. Plus de détails...
 
Pass
static const Castor::String MatAmbient
 Nom de la frame variable contenant la couleur ambiante du matériau. Plus de détails...
 
static const Castor::String MatDiffuse
 Nom de la frame variable contenant la couleur diffuse du matériau. Plus de détails...
 
static const Castor::String MatSpecular
 Nom de la frame variable contenant la couleur spéculaire du matériau. Plus de détails...
 
static const Castor::String MatEmissive
 Nom de la frame variable contenant la couleur émissive du matériau. Plus de détails...
 
static const Castor::String MatShininess
 Nom de la frame variable contenant l'exposante du matériau. Plus de détails...
 
static const Castor::String MatOpacity
 Nom de la frame variable contenant l'opacité du matériau. Plus de détails...
 
Textures
static const Castor::String MapColour
 Nom de la frame variable contenant la texture de couleur. Plus de détails...
 
static const Castor::String MapAmbient
 Nom de la frame variable contenant la texture de couleur ambiante. Plus de détails...
 
static const Castor::String MapDiffuse
 Nom de la frame variable contenant la texture de couleur diffuse. Plus de détails...
 
static const Castor::String MapSpecular
 Nom de la frame variable contenant la texture de couleur spéculaire. Plus de détails...
 
static const Castor::String MapNormal
 Nom de la frame variable contenant la texture de normales. Plus de détails...
 
static const Castor::String MapOpacity
 Nom de la frame variable contenant texture d'opacité Plus de détails...
 
static const Castor::String MapGloss
 Nom de la frame variable contenant la texture d'exposante. Plus de détails...
 
static const Castor::String MapHeight
 Nom de la frame variable contenant texture de hauteur. Plus de détails...
 

Fonctions membres protégées

virtual ShaderObjectBaseSPtr DoCreateObject (eSHADER_TYPE p_eType)=0
 Crée le shader object voulu. Plus de détails...
 
virtual OneTextureFrameVariableSPtr DoCreateTextureVariable (int p_iNbOcc)=0
 Crée une variable de frame texture. Plus de détails...
 
virtual Castor::String DoGetVertexShaderSource (uint32_t p_uiProgramFlags)=0
 Récupère le source du vertex shader selon les flags donnés. Plus de détails...
 
virtual Castor::String DoGetPixelShaderSource (uint32_t p_uiFlags)=0
 Récupère le source du pixel shader selon les flags donnés. Plus de détails...
 
virtual Castor::String DoGetDeferredVertexShaderSource (uint32_t p_uiProgramFlags, bool p_bLightPass)=0
 Récupère le source du vertex shader pour la passe géométrique du deferred shading selon les flags donnés. Plus de détails...
 
virtual Castor::String DoGetDeferredPixelShaderSource (uint32_t p_uiFlags)=0
 Récupère le source du pixel shader pour la passe géométrique du deferred shading selon les flags donnés. Plus de détails...
 

Attributs protégés

ePROGRAM_STATUS m_eStatus
 < Le statut du programme Plus de détails...
 
eSHADER_LANGUAGE m_eLanguage
 Dit si le shader est activé ou pas. Plus de détails...
 
bool m_bEnabled
 
ShaderObjectBaseSPtr m_pShaders [eSHADER_TYPE_COUNT]
 Le tableau de shaders. Plus de détails...
 
std::array< Castor::Path,
eSHADER_MODEL_COUNT > 
m_arrayFiles
 Tableau des chemins de fichiers, triés par modèle de shader. Plus de détails...
 
RenderSystemm_pRenderSystem
 L'instance du RenderSystem. Plus de détails...
 
bool m_bLightsChanged
 Dit si une lumière au moins a changé depuis la dernière frame. Plus de détails...
 
OneIntFrameVariableSPtr m_pLightsCount
 Contient le nombre de lumières actives. Plus de détails...
 
OneTextureFrameVariableSPtr m_pLights
 Contient les lumières. Plus de détails...
 
Point3rFrameVariableSPtr m_pCameraPos
 Contient la position de la caméra. Plus de détails...
 
Castor::PxBufferBaseSPtr m_pLightsData
 L'image contenant les données des lumières. Plus de détails...
 
TextureUnitSPtr m_pLightsTexture
 La texture contenant les lumières. Plus de détails...
 
std::set< int > m_setFreeLights
 Le set contenant les indices des lumières disponibles. Plus de détails...
 
FrameVariableBufferSPtr m_pMatrixBuffer
 Le tampon de variables de matrices. Plus de détails...
 
FrameVariableBufferSPtr m_pPassBuffer
 Le tampon de variables de passe. Plus de détails...
 
FrameVariableBufferSPtr m_pSceneBuffer
 Le tampon de variables de scène. Plus de détails...
 
FrameVariableBufferSPtr m_pUserBuffer
 Le tampon de variables utilisateur. Plus de détails...
 

Amis

template<class Ty >
struct FrameVariableCreator
 
template<class Ty >
struct ShaderObjectCreator
 
class Castor::TextLoader< Castor3D::ShaderProgramBase >
 

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

Castor3D::ShaderProgramBase::ShaderProgramBase ( RenderSystem p_pRenderSystem,
eSHADER_LANGUAGE  p_eLanguage 
)

Constructeur.

Paramètres
[in]p_pRenderSystemL'instance du RenderSystem
[in]p_eLanguageLe langage du programme
virtual Castor3D::ShaderProgramBase::~ShaderProgramBase ( )
virtual

Destructeur.

Documentation des fonctions membres

virtual int Castor3D::ShaderProgramBase::AssignLight ( )
virtual

Assigne une lumière et retourne son index.

Renvoie
L'index de la lumière assignée, -1 si plus aucune disponible.
virtual void Castor3D::ShaderProgramBase::Begin ( uint8_t  p_byIndex,
uint8_t  p_byCount 
)
virtual

Active le programme.

Paramètres
[in]p_byIndexL'index de la passe courante
[in]p_byCountLe compte des passes du material
virtual void Castor3D::ShaderProgramBase::Cleanup ( )
virtual

Nettoie le programme.

OneTextureFrameVariableSPtr Castor3D::ShaderProgramBase::CreateFrameVariable ( Castor::String const &  p_strName,
eSHADER_TYPE  p_eType,
int  p_iNbOcc = 1 
)

Crée une variable.

Paramètres
[in]p_strNameLe nom de la variable
[in]p_eTypeLe type du shader
[in]p_iNbOccLes dimensions du tableau
Renvoie
La variable créée, nullptr en cas d'échec
ShaderObjectBaseSPtr Castor3D::ShaderProgramBase::CreateObject ( eSHADER_TYPE  p_eType)

Crée le shader object voulu.

Paramètres
[in]p_eTypeLe shader object concerné
virtual ShaderObjectBaseSPtr Castor3D::ShaderProgramBase::DoCreateObject ( eSHADER_TYPE  p_eType)
protectedpure virtual

Crée le shader object voulu.

Paramètres
[in]p_eTypeLe shader object concerné
virtual OneTextureFrameVariableSPtr Castor3D::ShaderProgramBase::DoCreateTextureVariable ( int  p_iNbOcc)
protectedpure virtual

Crée une variable de frame texture.

Paramètres
[in]p_iNbOccLes dimensions du tableau
Renvoie
La variable créée, nullptr en cas d'échec
virtual Castor::String Castor3D::ShaderProgramBase::DoGetDeferredPixelShaderSource ( uint32_t  p_uiFlags)
protectedpure virtual

Récupère le source du pixel shader pour la passe géométrique du deferred shading selon les flags donnés.

Paramètres
[in]p_uiFlagsUne combinaison de eTEXTURE_CHANNEL
virtual Castor::String Castor3D::ShaderProgramBase::DoGetDeferredVertexShaderSource ( uint32_t  p_uiProgramFlags,
bool  p_bLightPass 
)
protectedpure virtual

Récupère le source du vertex shader pour la passe géométrique du deferred shading selon les flags donnés.

Paramètres
[in]p_uiProgramFlagsUne combinaison de ePROGRAM_FLAG
[in]p_bLightPassDit si on veut le shader de la passe de lumières
virtual Castor::String Castor3D::ShaderProgramBase::DoGetPixelShaderSource ( uint32_t  p_uiFlags)
protectedpure virtual

Récupère le source du pixel shader selon les flags donnés.

Paramètres
[in]p_uiFlagsUne combinaison de eTEXTURE_CHANNEL
virtual Castor::String Castor3D::ShaderProgramBase::DoGetVertexShaderSource ( uint32_t  p_uiProgramFlags)
protectedpure virtual

Récupère le source du vertex shader selon les flags donnés.

Paramètres
[in]p_uiProgramFlagsUne combinaison de ePROGRAM_FLAG
virtual void Castor3D::ShaderProgramBase::End ( )
virtual

Désactive le programme.

OneTextureFrameVariableSPtr Castor3D::ShaderProgramBase::FindFrameVariable ( Castor::String const &  p_strName,
eSHADER_TYPE  p_eType 
) const

Cherche une variable.

Paramètres
[in]p_strNameLe nom de la variable
[in]p_eTypeLe type du shader
Renvoie
La variable trouvé, nullptr en cas d'échec
virtual void Castor3D::ShaderProgramBase::FreeLight ( int  p_iIndex)
virtual

Libère une lumière.

Paramètres
[in]L'indexde la lumière
virtual int Castor3D::ShaderProgramBase::GetAttributeLocation ( Castor::String const &  p_strName) const
pure virtual

Récupère l'index d'un attribut de vertex dans le programme.

Paramètres
[in]p_strNameLe nom de l'attribut
Renvoie
L'index, -1 si indisponible
Castor::String Castor3D::ShaderProgramBase::GetEntryPoint ( eSHADER_TYPE  p_eTarget) const

Récupère le point d'entrée du shader voulu.

Paramètres
[in]p_eTargetLe shader object concerné
Renvoie
Le point d'entrée
Castor::Path Castor3D::ShaderProgramBase::GetFile ( eSHADER_TYPE  p_eTarget,
eSHADER_MODEL  p_eModel 
) const

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

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_eModelLe modèle de shader
Renvoie
Le nom du fichier
eSHADER_LANGUAGE Castor3D::ShaderProgramBase::GetLanguage ( ) const
inline

Récupère le language du shader.

Renvoie
La valeur
FrameVariableBufferSPtr Castor3D::ShaderProgramBase::GetMatrixBuffer ( ) const
inline

Récupère le tampon de variables de matrices.

Renvoie
Le tampon
FrameVariableBufferSPtr Castor3D::ShaderProgramBase::GetPassBuffer ( ) const
inline

Récupère le tampon de variables de passe.

Renvoie
Le tampon
Castor::String Castor3D::ShaderProgramBase::GetPixelShaderSource ( uint32_t  p_uiFlags)

Récupère le source du pixel shader selon les flags donnés.

Paramètres
[in]p_uiFlagsUne combinaison de eTEXTURE_CHANNEL
RenderSystem* Castor3D::ShaderProgramBase::GetRenderSystem ( ) const
inline

Récupère le RenderSystem.

Renvoie
La valeur
FrameVariableBufferSPtr Castor3D::ShaderProgramBase::GetSceneBuffer ( ) const
inline

Récupère le tampon de variables de scène.

Renvoie
Le tampon
Castor::String Castor3D::ShaderProgramBase::GetSource ( eSHADER_TYPE  p_eTarget,
eSHADER_MODEL  p_eModel 
) const

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

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_eModelLe modèle de shader
Renvoie
Le code de la source
ePROGRAM_STATUS Castor3D::ShaderProgramBase::GetStatus ( ) const
inline

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

Renvoie
La valeur
FrameVariableBufferSPtr Castor3D::ShaderProgramBase::GetUserBuffer ( ) const
inline

Récupère le tampon de variables constantes.

Renvoie
Le tampon
Castor::String Castor3D::ShaderProgramBase::GetVertexShaderSource ( uint32_t  p_uiProgramFlags,
bool  p_bLightPass = false 
)

Récupère le source du vertex shader selon les flags donnés.

Paramètres
[in]p_uiProgramFlagsCombinaison de ePROGRAM_FLAG
[in]p_bLightPassDit si on veut le shader de la passe de lumières
bool Castor3D::ShaderProgramBase::HasProgram ( eSHADER_TYPE  p_eTarget) const

Dit si le programme a un shader du type donné

Paramètres
[in]p_eTargetLe type du shader object
Renvoie
true si le shader object existe
bool Castor3D::ShaderProgramBase::HasSource ( eSHADER_TYPE  p_eTarget) const

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

Paramètres
[in]p_eTargetLe shader object concerné
Renvoie
true si le shader a un code source
virtual void Castor3D::ShaderProgramBase::Initialise ( )
virtual

Initialise le programme.

virtual bool Castor3D::ShaderProgramBase::Link ( )
virtual

Link tous les objets du programme.

void Castor3D::ShaderProgramBase::ResetToCompile ( )

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

void Castor3D::ShaderProgramBase::SetEntryPoint ( eSHADER_TYPE  p_eTarget,
Castor::String const &  p_strName 
)

Définit le point d'entrée pour ls langages en ayant besoin.

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_strNameLe point d'entrée
virtual void Castor3D::ShaderProgramBase::SetFile ( eSHADER_MODEL  p_eModel,
Castor::Path const &  p_pathFile 
)
virtual

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

Paramètres
[in]p_eModelLe modèle de shader
[in]p_pathFileLe nom du fichier
void Castor3D::ShaderProgramBase::SetFile ( eSHADER_TYPE  p_eTarget,
eSHADER_MODEL  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_eTargetLe shader object concerné
[in]p_eModelLe modèle de shader
[in]p_pathFileLe nom du fichier
void Castor3D::ShaderProgramBase::SetInputType ( eSHADER_TYPE  p_eTarget,
eTOPOLOGY  p_ePrimitiveType 
)

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

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_ePrimitiveTypeLe type des primitives en entrée
virtual void Castor3D::ShaderProgramBase::SetLightAmbient ( int  p_iIndex,
Castor::Colour const &  p_crColour 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightAttenuation ( int  p_iIndex,
Castor::Point3f const &  p_fAtt 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightCutOff ( int  p_iIndex,
float  p_fCut 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightDiffuse ( int  p_iIndex,
Castor::Colour const &  p_crColour 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightExponent ( int  p_iIndex,
float  p_fExp 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightOrientation ( int  p_iIndex,
Castor::Matrix4x4r const &  p_mtxOrientation 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightPosition ( int  p_iIndex,
Castor::Point4f const &  p_ptPosition 
)
virtual
virtual void Castor3D::ShaderProgramBase::SetLightSpecular ( int  p_iIndex,
Castor::Colour const &  p_crColour 
)
virtual
void Castor3D::ShaderProgramBase::SetOutputType ( eSHADER_TYPE  p_eTarget,
eTOPOLOGY  p_ePrimitiveType 
)

Définit le type des primitives en sortie.

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_ePrimitiveTypeLe type des primitives en sortie
void Castor3D::ShaderProgramBase::SetOutputVtxCount ( eSHADER_TYPE  p_eTarget,
uint8_t  p_uiCount 
)

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

Paramètres
[in]p_eTargetLe shader object concerné
[in]p_uiCountLe compte
void Castor3D::ShaderProgramBase::SetSource ( eSHADER_TYPE  p_eTarget,
eSHADER_MODEL  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_eTargetLe shader object concerné
[in]p_eModelLe modèle de shader
[in]p_strSourceLe code de la source

Documentation des fonctions amies et associées

friend class Castor::TextLoader< Castor3D::ShaderProgramBase >
friend
template<class Ty >
friend struct FrameVariableCreator
friend
template<class Ty >
friend struct ShaderObjectCreator
friend

Documentation des données membres

const Castor::String Castor3D::ShaderProgramBase::AmbientLight
static

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

const Castor::String Castor3D::ShaderProgramBase::BackgroundColour
static

Nom de la frame variable contenant la couleur de fond.

const Castor::String Castor3D::ShaderProgramBase::CameraPos
static

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

const Castor::String Castor3D::ShaderProgramBase::Lights
static

Nom de la frame variable contenant les lumières.

const Castor::String Castor3D::ShaderProgramBase::LightsCount
static

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

std::array< Castor::Path, eSHADER_MODEL_COUNT > Castor3D::ShaderProgramBase::m_arrayFiles
protected

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

bool Castor3D::ShaderProgramBase::m_bEnabled
protected
bool Castor3D::ShaderProgramBase::m_bLightsChanged
protected

Dit si une lumière au moins a changé depuis la dernière frame.

eSHADER_LANGUAGE Castor3D::ShaderProgramBase::m_eLanguage
protected

Dit si le shader est activé ou pas.

ePROGRAM_STATUS Castor3D::ShaderProgramBase::m_eStatus
protected

< Le statut du programme

Le langage du programme

Point3rFrameVariableSPtr Castor3D::ShaderProgramBase::m_pCameraPos
protected

Contient la position de la caméra.

OneTextureFrameVariableSPtr Castor3D::ShaderProgramBase::m_pLights
protected

Contient les lumières.

OneIntFrameVariableSPtr Castor3D::ShaderProgramBase::m_pLightsCount
protected

Contient le nombre de lumières actives.

Castor::PxBufferBaseSPtr Castor3D::ShaderProgramBase::m_pLightsData
protected

L'image contenant les données des lumières.

TextureUnitSPtr Castor3D::ShaderProgramBase::m_pLightsTexture
protected

La texture contenant les lumières.

FrameVariableBufferSPtr Castor3D::ShaderProgramBase::m_pMatrixBuffer
protected

Le tampon de variables de matrices.

FrameVariableBufferSPtr Castor3D::ShaderProgramBase::m_pPassBuffer
protected

Le tampon de variables de passe.

RenderSystem* Castor3D::ShaderProgramBase::m_pRenderSystem
protected

L'instance du RenderSystem.

FrameVariableBufferSPtr Castor3D::ShaderProgramBase::m_pSceneBuffer
protected

Le tampon de variables de scène.

ShaderObjectBaseSPtr Castor3D::ShaderProgramBase::m_pShaders[eSHADER_TYPE_COUNT]
protected

Le tableau de shaders.

FrameVariableBufferSPtr Castor3D::ShaderProgramBase::m_pUserBuffer
protected

Le tampon de variables utilisateur.

std::set<int> Castor3D::ShaderProgramBase::m_setFreeLights
protected

Le set contenant les indices des lumières disponibles.

const Castor::String Castor3D::ShaderProgramBase::MapAmbient
static

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

const Castor::String Castor3D::ShaderProgramBase::MapColour
static

Nom de la frame variable contenant la texture de couleur.

const Castor::String Castor3D::ShaderProgramBase::MapDiffuse
static

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

const Castor::String Castor3D::ShaderProgramBase::MapGloss
static

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

const Castor::String Castor3D::ShaderProgramBase::MapHeight
static

Nom de la frame variable contenant texture de hauteur.

const Castor::String Castor3D::ShaderProgramBase::MapNormal
static

Nom de la frame variable contenant la texture de normales.

const Castor::String Castor3D::ShaderProgramBase::MapOpacity
static

Nom de la frame variable contenant texture d'opacité

const Castor::String Castor3D::ShaderProgramBase::MapSpecular
static

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

const Castor::String Castor3D::ShaderProgramBase::MatAmbient
static

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

const Castor::String Castor3D::ShaderProgramBase::MatDiffuse
static

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

const Castor::String Castor3D::ShaderProgramBase::MatEmissive
static

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

const Castor::String Castor3D::ShaderProgramBase::MatOpacity
static

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

const Castor::String Castor3D::ShaderProgramBase::MatShininess
static

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

const Castor::String Castor3D::ShaderProgramBase::MatSpecular
static

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


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