Castor3D
..
|
Classe de base pour les shaders. Plus de détails...
Classes | |
class | BinaryParser |
Loader de ShaderObjectBase. Plus de détails... | |
class | TextLoader |
Loader de ShaderObjectBase. Plus de détails... | |
Fonctions membres publiques | |
ShaderObjectBase (ShaderProgramBase *p_pParent, eSHADER_TYPE p_eType) | |
Constructeur. Plus de détails... | |
virtual | ~ShaderObjectBase () |
Destructeur. Plus de détails... | |
void | SetFile (eSHADER_MODEL p_eModel, Castor::Path const &p_pathFile) |
Définit le fichier du shader pour le modèle donné Plus de détails... | |
void | SetSource (eSHADER_MODEL p_eModel, Castor::String const &p_strSource) |
Définit la source du shader pour le modèle donné Plus de détails... | |
bool | HasSource () |
Dit si le shader a un code source, quel que soit son modèle. Plus de détails... | |
virtual void | Bind () |
Active le shader. Plus de détails... | |
virtual void | Unbind () |
Désactive le shader. Plus de détails... | |
virtual bool | Compile () |
Compile le shader. Plus de détails... | |
virtual void | CreateProgram ()=0 |
Crée le programme sur le GPU. Plus de détails... | |
virtual void | DestroyProgram ()=0 |
Détruit le programme sur le GPU. Plus de détails... | |
virtual void | AddFrameVariable (OneTextureFrameVariableSPtr p_pVariable) |
Crée une variable uniform à donner aux ShaderObjects. Plus de détails... | |
FrameVariablePtrStrMapConstIt | GetFrameVariablesBegin () const |
Récupère un itérateur constant sur le début de la liste de frame variables. Plus de détails... | |
FrameVariablePtrStrMapIt | GetFrameVariablesBegin () |
Récupère un itérateur sur le début de la liste de frame variables. Plus de détails... | |
FrameVariablePtrStrMapConstIt | GetFrameVariablesEnd () const |
Récupère un itérateur constant sur la fin de la liste de frame variables. Plus de détails... | |
FrameVariablePtrStrMapIt | GetFrameVariablesEnd () |
Récupère un itérateur sur la fin de la liste de frame variables. Plus de détails... | |
OneTextureFrameVariableSPtr | FindFrameVariable (Castor::String const &p_strName) const |
Trouve une variable. Plus de détails... | |
virtual void | FlushFrameVariables () |
Vide la liste de frame variables. Plus de détails... | |
virtual void | SetEntryPoint (Castor::String const &p_strName)=0 |
Définit le point d'entrée pour ls langages en ayant besoin. Plus de détails... | |
virtual Castor::String | GetEntryPoint () const =0 |
Récupère le point d'entrée. Plus de détails... | |
virtual bool | HasParameter (Castor::String const &CU_PARAM_UNUSED(p_strName)) |
Dit si le shader compilé a le paramètre donné Plus de détails... | |
virtual void | SetParameter (Castor::String const &CU_PARAM_UNUSED(p_strName), Castor::Matrix4x4r const &CU_PARAM_UNUSED(p_mtxValue)) |
Définit la valeur du paramètre. Plus de détails... | |
virtual void | SetParameter (Castor::String const &CU_PARAM_UNUSED(p_strName), Castor::Matrix3x3r const &CU_PARAM_UNUSED(p_mtxValue)) |
Définit la valeur du paramètre. Plus de détails... | |
Castor::String const & | GetSource (eSHADER_MODEL p_eModel) const |
Récupère la source du shader pour le modèle donné Plus de détails... | |
Castor::String const & | GetLoadedSource () const |
Récupère la source du shader compilé Plus de détails... | |
Castor::Path const & | GetFile (eSHADER_MODEL p_eModel) const |
Récupère le fichier du shader pour le modèle donné Plus de détails... | |
Castor::Path const & | GetCurrentFile () const |
Récupère le fichier du shader pour le modèle courant. Plus de détails... | |
Castor::String | GetStrType () const |
Récupère le nom du type de cet objet. Plus de détails... | |
eSHADER_TYPE | GetType () const |
Récupère le type de cet objet. Plus de détails... | |
void | SetInputType (eTOPOLOGY val) |
Définit le type des primitives en entrée. Plus de détails... | |
eTOPOLOGY | GetInputType () const |
Récupère le type des primitives en entrée. Plus de détails... | |
void | SetOutputType (eTOPOLOGY val) |
Définit le type des primitives en sortie. Plus de détails... | |
eTOPOLOGY | GetOutputType () const |
Récupère le type des primitives en sortie. Plus de détails... | |
void | SetOutputVtxCount (uint8_t p_uiCount) |
Définit le nombre de vertices générés. Plus de détails... | |
uint8_t | GetOutputVtxCount () const |
Récupère le nombre de vertices générés. Plus de détails... | |
eSHADER_STATUS | GetStatus () const |
Récupère le statut de compilation de l'objet. Plus de détails... | |
ShaderProgramBase * | GetParent () const |
Récupère le parent de l'objet. Plus de détails... | |
Attributs protégés | |
ShaderProgramBase * | m_pParent |
Le programme parent. Plus de détails... | |
eSHADER_TYPE | m_eType |
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... | |
std::array< Castor::String, eSHADER_MODEL_COUNT > | m_arraySources |
Tableau des codes sources, triés par modèle de shader. Plus de détails... | |
Castor::String | m_strLoadedSource |
Le chemin d'accès au fichier contenant le source du shader. Plus de détails... | |
Castor::Path | m_pathLoadedFile |
Le statut de compilation du shader. Plus de détails... | |
eSHADER_STATUS | m_eStatus |
FrameVariablePtrStrMap | m_mapFrameVariables |
La liste des variables de frame. Plus de détails... | |
FrameVariablePtrList | m_listFrameVariables |
La liste des variables de frame. Plus de détails... | |
eTOPOLOGY | m_eInputType |
Le type de primitives en entrée (pour les geometry shaders) Plus de détails... | |
eTOPOLOGY | m_eOutputType |
Le type de primitives en sortie (pour les geometry shaders) Plus de détails... | |
uint8_t | m_uiOutputVtxCount |
Le nombre de vertex générés (pour les geometry shaders) Plus de détails... | |
eSHADER_MODEL | m_eShaderModel |
Le modèle de shader actuel. Plus de détails... | |
Classe de base pour les shaders.
Castor3D::ShaderObjectBase::ShaderObjectBase | ( | ShaderProgramBase * | p_pParent, |
eSHADER_TYPE | p_eType | ||
) |
Constructeur.
[in] | p_pParent | programme parent |
[in] | p_eType | Type de shader |
|
virtual |
Destructeur.
|
virtual |
Crée une variable uniform à donner aux ShaderObjects.
[in] | p_pVariable | La variable à donner |
|
virtual |
Active le shader.
|
virtual |
Compile le shader.
true
en cas de succès
|
pure virtual |
Crée le programme sur le GPU.
|
pure virtual |
Détruit le programme sur le GPU.
OneTextureFrameVariableSPtr Castor3D::ShaderObjectBase::FindFrameVariable | ( | Castor::String const & | p_strName | ) | const |
Trouve une variable.
|
virtual |
Vide la liste de frame variables.
|
inline |
Récupère le fichier du shader pour le modèle courant.
|
pure virtual |
Récupère le point d'entrée.
|
inline |
Récupère le fichier du shader pour le modèle donné
[in] | p_eModel | Le modèle de shader |
|
inline |
Récupère un itérateur constant sur le début de la liste de frame variables.
|
inline |
Récupère un itérateur sur le début de la liste de frame variables.
|
inline |
Récupère un itérateur constant sur la fin de la liste de frame variables.
|
inline |
Récupère un itérateur sur la fin de la liste de frame variables.
|
inline |
Récupère le type des primitives en entrée.
|
inline |
Récupère la source du shader compilé
|
inline |
Récupère le type des primitives en sortie.
|
inline |
Récupère le nombre de vertices générés.
|
inline |
Récupère le parent de l'objet.
|
inline |
Récupère la source du shader pour le modèle donné
[in] | p_eModel | Le modèle de shader |
|
inline |
Récupère le statut de compilation de l'objet.
|
inline |
Récupère le nom du type de cet objet.
|
inline |
Récupère le type de cet objet.
|
inlinevirtual |
Dit si le shader compilé a le paramètre donné
[in] | p_strName | Le nom du paramètre |
true
si le paramètre a été trouvé bool Castor3D::ShaderObjectBase::HasSource | ( | ) |
Dit si le shader a un code source, quel que soit son modèle.
true
si le shader a un code source
|
pure virtual |
Définit le point d'entrée pour ls langages en ayant besoin.
[in] | p_strName | Le point d'entrée |
void Castor3D::ShaderObjectBase::SetFile | ( | eSHADER_MODEL | p_eModel, |
Castor::Path const & | p_pathFile | ||
) |
Définit le fichier du shader pour le modèle donné
[in] | p_eModel | Le modèle de shader |
[in] | p_pathFile | Le nom du fichier |
|
inline |
Définit le type des primitives en entrée.
[in] | p_ePrimitiveType | Le type des primitives en entrée |
|
inline |
Définit le type des primitives en sortie.
[in] | p_ePrimitiveType | Le type des primitives |
|
inline |
Définit le nombre de vertices générés.
[in] | p_uiCount | Le compte |
|
inlinevirtual |
Définit la valeur du paramètre.
[in] | p_strName | Le nom du paramètre |
[in] | p_mtxValue | La valeur du paramètre |
|
inlinevirtual |
Définit la valeur du paramètre.
[in] | p_strName | Le nom du paramètre |
[in] | p_mtxValue | La valeur du paramètre |
void Castor3D::ShaderObjectBase::SetSource | ( | eSHADER_MODEL | p_eModel, |
Castor::String const & | p_strSource | ||
) |
Définit la source du shader pour le modèle donné
[in] | p_eModel | Le modèle de shader |
[in] | p_strSource | Le code de la source |
|
virtual |
Désactive le shader.
|
protected |
Tableau des chemins de fichiers, triés par modèle de shader.
|
protected |
Tableau des codes sources, triés par modèle de shader.
Le texte ASCII du shader chargé
|
protected |
Le type de primitives en entrée (pour les geometry shaders)
|
protected |
Le type de primitives en sortie (pour les geometry shaders)
|
protected |
Le modèle de shader actuel.
|
protected |
|
protected |
|
protected |
La liste des variables de frame.
|
protected |
La liste des variables de frame.
|
protected |
Le statut de compilation du shader.
|
protected |
Le programme parent.
Le type de shader
|
protected |
Le chemin d'accès au fichier contenant le source du shader.
|
protected |
Le nombre de vertex générés (pour les geometry shaders)