Castor3D
..
|
Buffer de variables de shader. Plus de détails...
Fonctions membres publiques | |
FrameVariableBuffer (Castor::String const &p_strName, RenderSystem *p_pRenderSystem) | |
Constructeur. Plus de détails... | |
virtual | ~FrameVariableBuffer () |
Destructeur. Plus de détails... | |
FrameVariableSPtr | CreateVariable (ShaderProgramBase &p_program, eFRAME_VARIABLE_TYPE p_eType, Castor::String const &p_strName, uint32_t p_uiNbOcc=1) |
Crée une variable du type demandé Plus de détails... | |
template<typename T > | |
bool | GetVariable (Castor::String const &p_strName, std::shared_ptr< OneFrameVariable< T > > &p_pVariable) const |
Récupère une variable par son nom. Plus de détails... | |
template<typename T , uint32_t Count> | |
bool | GetVariable (Castor::String const &p_strName, std::shared_ptr< PointFrameVariable< T, Count > > &p_pVariable) const |
Récupère une variable par son nom. Plus de détails... | |
template<typename T , uint32_t Rows, uint32_t Columns> | |
bool | GetVariable (Castor::String const &p_strName, std::shared_ptr< MatrixFrameVariable< T, Rows, Columns > > &p_pVariable) const |
Récupère une variable par son nom. Plus de détails... | |
bool | Initialise (ShaderProgramBase &p_pProgram) |
Initialise toutes les variables et le tampon GPU associé Plus de détails... | |
void | Cleanup () |
Nettoie toutes les variables et le tampon GPU associé Plus de détails... | |
bool | Bind () |
Active toutes les variables, au travers du tampon GPU si supporté (OpenGL UBO, Direct3D Constants buffers) Plus de détails... | |
void | Unbind () |
Désactive toutes les variables. Plus de détails... | |
Fonctions membres protégées | |
virtual FrameVariableSPtr | DoCreateVariable (ShaderProgramBase *p_pProgram, eFRAME_VARIABLE_TYPE p_eType, Castor::String const &p_strName, uint32_t p_uiNbOcc=1)=0 |
Crée une variable du type demandé Plus de détails... | |
virtual bool | DoInitialise (ShaderProgramBase *p_pProgram)=0 |
Initialise toutes les variables et le tampon GPU associé Plus de détails... | |
virtual void | DoCleanup ()=0 |
Nettoie toutes les variables et le tampon GPU associé Plus de détails... | |
virtual bool | DoBind ()=0 |
Active toutes les variables, au traves du tampon GPU si supporté (OpenGL UBO, Direct3D Constants buffers) Plus de détails... | |
virtual void | DoUnbind ()=0 |
Désactive toutes les variables. Plus de détails... | |
Attributs protégés | |
uint32_t | m_uiIndex |
L'index du tampon. Plus de détails... | |
FrameVariablePtrList | m_listVariables |
La liste de variables. Plus de détails... | |
FrameVariablePtrList | m_listInitialised |
La liste de variables initialisées. Plus de détails... | |
FrameVariablePtrStrMap | m_mapVariables |
Les variables, triées par nom. Plus de détails... | |
RenderSystem * | m_pRenderSystem |
Le render system. Plus de détails... | |
Castor::String | m_strName |
Le nom du tampon. Plus de détails... | |
Castor::ByteArray | m_buffer |
Le tampon de données. Plus de détails... | |
Attributs protégés statiques | |
static uint32_t | sm_uiCount |
Le compte des tampons. Plus de détails... | |
Buffer de variables de shader.
Castor3D::FrameVariableBuffer::FrameVariableBuffer | ( | Castor::String const & | p_strName, |
RenderSystem * | p_pRenderSystem | ||
) |
Constructeur.
[in] | p_pProgram | Le programme |
[in] | p_strName | Le nom du tampon |
[in] | p_pRenderSystem | Le render system |
|
virtual |
Destructeur.
bool Castor3D::FrameVariableBuffer::Bind | ( | ) |
Active toutes les variables, au travers du tampon GPU si supporté (OpenGL UBO, Direct3D Constants buffers)
[in] | p_pProgram | Le programme |
false
if any problem occured void Castor3D::FrameVariableBuffer::Cleanup | ( | ) |
Nettoie toutes les variables et le tampon GPU associé
FrameVariableSPtr Castor3D::FrameVariableBuffer::CreateVariable | ( | ShaderProgramBase & | p_program, |
eFRAME_VARIABLE_TYPE | p_eType, | ||
Castor::String const & | p_strName, | ||
uint32_t | p_uiNbOcc = 1 |
||
) |
Crée une variable du type demandé
[in] | p_eType | Le type voulu |
[in] | p_strName | Le nom de la variable |
[in] | p_uiNbOcc | Les dimensions du tableau |
|
protectedpure virtual |
Active toutes les variables, au traves du tampon GPU si supporté (OpenGL UBO, Direct3D Constants buffers)
[in] | p_pProgram | Le programme |
false
if any problem occured
|
protectedpure virtual |
Nettoie toutes les variables et le tampon GPU associé
|
protectedpure virtual |
Crée une variable du type demandé
[in] | p_eType | Le type voulu |
[in] | p_strName | Le nom de la variable |
[in] | p_uiNbOcc | Les dimensions du tableau |
|
protectedpure virtual |
Initialise toutes les variables et le tampon GPU associé
[in] | p_pProgram | Le programme |
false
if any problem occured
|
protectedpure virtual |
Désactive toutes les variables.
[in] | p_pProgram | Le programme |
bool Castor3D::FrameVariableBuffer::GetVariable | ( | Castor::String const & | p_strName, |
std::shared_ptr< OneFrameVariable< T > > & | p_pVariable | ||
) | const |
Récupère une variable par son nom.
[in] | p_strName | Le nom de la variable |
[out] | p_pVariable | Reçoit la variable récupérée, nullptr en cas d'échec |
false
en cas d'échec bool Castor3D::FrameVariableBuffer::GetVariable | ( | Castor::String const & | p_strName, |
std::shared_ptr< PointFrameVariable< T, Count > > & | p_pVariable | ||
) | const |
Récupère une variable par son nom.
[in] | p_strName | Le nom de la variable |
[out] | p_pVariable | Reçoit la variable récupérée, nullptr en cas d'échec |
false
en cas d'échec bool Castor3D::FrameVariableBuffer::GetVariable | ( | Castor::String const & | p_strName, |
std::shared_ptr< MatrixFrameVariable< T, Rows, Columns > > & | p_pVariable | ||
) | const |
Récupère une variable par son nom.
[in] | p_strName | Le nom de la variable |
[out] | p_pVariable | Reçoit la variable récupérée, nullptr en cas d'échec |
false
en cas d'échec bool Castor3D::FrameVariableBuffer::Initialise | ( | ShaderProgramBase & | p_pProgram | ) |
Initialise toutes les variables et le tampon GPU associé
[in] | p_pProgram | Le programme |
false
if any problem occured void Castor3D::FrameVariableBuffer::Unbind | ( | ) |
Désactive toutes les variables.
|
protected |
Le tampon de données.
|
protected |
La liste de variables initialisées.
|
protected |
La liste de variables.
|
protected |
Les variables, triées par nom.
|
protected |
Le render system.
|
protected |
Le nom du tampon.
|
protected |
L'index du tampon.
|
staticprotected |
Le compte des tampons.