Castor3D
..
|
Matrix shader variable with variable type and dimensions. More...
Public Member Functions | |
MatrixFrameVariable (ShaderProgram *p_program) | |
Constructor. More... | |
MatrixFrameVariable (ShaderProgram *p_program, uint32_t p_occurences) | |
Constructor. More... | |
MatrixFrameVariable (MatrixFrameVariable< T, Rows, Columns > const &p_object) | |
Copy constructor. More... | |
MatrixFrameVariable (MatrixFrameVariable< T, Rows, Columns > &&p_object) | |
Move constructor. More... | |
MatrixFrameVariable & | operator= (MatrixFrameVariable< T, Rows, Columns > const &p_object) |
Copy assignment operator. More... | |
MatrixFrameVariable & | operator= (MatrixFrameVariable< T, Rows, Columns > &&p_object) |
Move assignment operator. More... | |
virtual | ~MatrixFrameVariable () |
Destructor. More... | |
Castor::Matrix< T, Rows, Columns > & | GetValue () |
Retrieves the value. More... | |
Castor::Matrix< T, Rows, Columns > const & | GetValue () const |
Retrieves the value. More... | |
Castor::Matrix< T, Rows, Columns > & | GetValue (uint32_t p_index) |
Retrieves the value at given index. More... | |
Castor::Matrix< T, Rows, Columns > const & | GetValue (uint32_t p_index) const |
Retrieves the value at given index. More... | |
void | SetValue (Castor::Matrix< T, Rows, Columns > const &p_value) |
Defines the value of the variable. More... | |
void | SetValue (Castor::Matrix< T, Rows, Columns > const &p_value, uint32_t p_index) |
Defines the value of the variable. More... | |
virtual uint32_t | size () const |
Retrieves the byte size of the variable. More... | |
virtual void | link (uint8_t *p_buffer) |
Defines the buffer holding the frame variable. More... | |
Castor::Matrix< T, Rows, Columns > & | operator[] (uint32_t p_index) |
Array subscript operator. More... | |
Castor::Matrix< T, Rows, Columns > const & | operator[] (uint32_t p_index) const |
Array subscript operator. More... | |
eVARIABLE_TYPE | GetType () const |
Retrieves the variable type. More... | |
eFRAME_VARIABLE_TYPE | GetFullType () const |
Retrieves the variable full type. More... | |
Castor::String | GetFullTypeName () const |
Gives the variable full type name. More... | |
Public Member Functions inherited from Castor3D::TFrameVariable< T > | |
TFrameVariable (ShaderProgram *p_program) | |
Constructor. More... | |
TFrameVariable (ShaderProgram *p_program, uint32_t p_occurences) | |
Constructor. More... | |
TFrameVariable (TFrameVariable< T > const &p_object) | |
Copy constructor. More... | |
TFrameVariable (TFrameVariable< T > &&p_object) | |
Move constructor. More... | |
TFrameVariable & | operator= (TFrameVariable< T > const &p_object) |
Copy assignment operator. More... | |
TFrameVariable & | operator= (TFrameVariable< T > &&p_object) |
Move assignment operator. More... | |
virtual | ~TFrameVariable () |
Destructor. More... | |
Castor::String | GetDataTypeName () const |
Gives the variable data type. More... | |
virtual uint8_t const *const | const_ptr () const |
Retrieves a pointer to the variable data. More... | |
Public Member Functions inherited from Castor3D::FrameVariable | |
C3D_API | FrameVariable (ShaderProgram *p_program) |
Constructor. More... | |
C3D_API | FrameVariable (ShaderProgram *p_program, uint32_t p_occurences) |
Constructor. More... | |
C3D_API | FrameVariable (FrameVariable const &p_object) |
Copy constructor. More... | |
C3D_API | FrameVariable (FrameVariable &&p_object) |
Move constructor. More... | |
C3D_API FrameVariable & | operator= (FrameVariable const &p_object) |
Copy assignment operator. More... | |
C3D_API FrameVariable & | operator= (FrameVariable &&p_object) |
Move assignment operator. More... | |
virtual C3D_API | ~FrameVariable () |
Destructor. More... | |
virtual C3D_API bool | Initialise ()=0 |
Initialises the variable. More... | |
virtual C3D_API void | Cleanup ()=0 |
Cleans up the variable. More... | |
virtual C3D_API void | Bind ()=0 |
Binds this variable to the shader. More... | |
virtual C3D_API void | Unbind ()=0 |
Unbinds this variable from the shader. More... | |
virtual C3D_API void | SetValueStr (Castor::String const &p_value) |
Defines the value of the variable, from a string. More... | |
virtual C3D_API void | SetValueStr (Castor::String const &p_value, uint32_t p_index) |
Defines the value of the variable, from a string. More... | |
virtual void | SetName (Castor::String const &p_name) |
Defines the name of the variable, as it appears in the shader program. More... | |
Castor::String | GetName () const |
Gives the name of the variable, as it appears in the shader program. More... | |
Castor::String | GetStrValue () const |
Retrieves the variable string value. More... | |
Castor::String | GetStrValue (uint32_t p_index) const |
Retrieves the variable string value at given index. More... | |
const uint32_t & | GetOccCount () const |
Retrieves the occurences count. More... | |
ShaderProgram * | GetProgram () const |
Retrieves the parent program. More... | |
Static Public Member Functions | |
static eVARIABLE_TYPE | GetVariableType () |
Gives the full type of the variable. More... | |
static eFRAME_VARIABLE_TYPE | GetFrameVariableType () |
Gives the variable full type. More... | |
static Castor::String | GetFrameVariableTypeName () |
Gives the variable full type name. More... | |
Protected Types | |
typedef Castor::Policy< T > | policy |
Protected Types inherited from Castor3D::TFrameVariable< T > | |
typedef Castor::Policy< T > | policy |
Protected Attributes | |
Castor::Matrix< T, Rows, Columns > * | m_mtxValue |
The matrix values. More... | |
Protected Attributes inherited from Castor3D::TFrameVariable< T > | |
bool | m_bOwnBuffer |
Tells the variable owns it's buffer. More... | |
T * | m_values |
The buffer containing all values. More... | |
Protected Attributes inherited from Castor3D::FrameVariable | |
Castor::String | m_name |
The variable name as it appears in the shader program. More... | |
bool | m_changed |
Tells if the variable has changed since last execution of the shader. More... | |
uint32_t | m_occurences |
The array dimension if the variable represents an array. More... | |
Castor::StringArray | m_strValue |
The value of the variable. More... | |
ShaderProgram * | m_program |
The parent shader program. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Castor3D::TFrameVariable< T > | |
void | DoCleanupBuffer () |
Matrix shader variable with variable type and dimensions.
|
protected |
Castor3D::MatrixFrameVariable< T, Rows, Columns >::MatrixFrameVariable | ( | ShaderProgram * | p_program | ) |
Constructor.
[in] | p_program | The program |
Castor3D::MatrixFrameVariable< T, Rows, Columns >::MatrixFrameVariable | ( | ShaderProgram * | p_program, |
uint32_t | p_occurences | ||
) |
Constructor.
[in] | p_program | The program |
[in] | p_occurences | The array dimension |
Castor3D::MatrixFrameVariable< T, Rows, Columns >::MatrixFrameVariable | ( | MatrixFrameVariable< T, Rows, Columns > const & | p_object | ) |
Copy constructor.
[in] | p_object | The object to copy |
Castor3D::MatrixFrameVariable< T, Rows, Columns >::MatrixFrameVariable | ( | MatrixFrameVariable< T, Rows, Columns > && | p_object | ) |
Move constructor.
[in] | p_object | The object to move |
|
virtual |
Destructor.
|
inlinestatic |
Gives the variable full type.
Donne le type complet de la variable
Referenced by Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetFullType().
|
inlinestatic |
Gives the variable full type name.
Donne le nom du type complet de la variable
Referenced by Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetFullTypeName().
|
inlinevirtual |
Retrieves the variable full type.
Implements Castor3D::FrameVariable.
References Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetFrameVariableType().
|
inlinevirtual |
Gives the variable full type name.
Donne le nom du type complet de la variable
Implements Castor3D::FrameVariable.
References Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetFrameVariableTypeName().
|
inlinevirtual |
Retrieves the variable type.
Implements Castor3D::FrameVariable.
References Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetVariableType().
|
inline |
Retrieves the value.
|
inline |
Retrieves the value.
|
inline |
Retrieves the value at given index.
[in] | p_index | The index |
|
inline |
Retrieves the value at given index.
[in] | p_index | The index |
|
static |
Gives the full type of the variable.
Referenced by Castor3D::MatrixFrameVariable< T, Rows, Columns >::GetType().
|
virtual |
Defines the buffer holding the frame variable.
[in] | p_buffer | The buffer |
Reimplemented from Castor3D::TFrameVariable< T >.
MatrixFrameVariable& Castor3D::MatrixFrameVariable< T, Rows, Columns >::operator= | ( | MatrixFrameVariable< T, Rows, Columns > const & | p_object | ) |
Copy assignment operator.
[in] | p_object | The object to copy |
MatrixFrameVariable& Castor3D::MatrixFrameVariable< T, Rows, Columns >::operator= | ( | MatrixFrameVariable< T, Rows, Columns > && | p_object | ) |
Move assignment operator.
[in] | p_object | The object to move |
|
inline |
Array subscript operator.
[in] | p_index | The index |
References Castor3D::MatrixFrameVariable< T, Rows, Columns >::m_mtxValue.
|
inline |
Array subscript operator.
[in] | p_index | The index |
References Castor3D::MatrixFrameVariable< T, Rows, Columns >::m_mtxValue.
|
inline |
Defines the value of the variable.
[in] | p_value | The new value |
|
inline |
Defines the value of the variable.
[in] | p_value | The new value |
[in] | p_index | The index of the value |
|
virtual |
|
protected |
The matrix values.
Referenced by Castor3D::MatrixFrameVariable< T, Rows, Columns >::operator[]().