![]() |
Public API Reference |
Storage class for "shader vars", inheritable variables in the shader system. More...
#include <csgfx/shadervar.h>
Public Types | |
| enum | VariableType { UNKNOWN = 0, INT = 1, FLOAT, TEXTURE, RENDERBUFFER, VECTOR2, VECTOR3, VECTOR4, MATRIX3X3 , TRANSFORM, ARRAY, MATRIX4X4, COLOR = VECTOR4 } |
| Data types that can be stored. More... | |
Public Member Functions | |
| csShaderVariable () | |
| Construct without a name. | |
| csShaderVariable (CS::ShaderVarStringID name) | |
| Construct with name. | |
| size_t | FindArrayElement (const csRef< csShaderVariable > &sv) |
| Find a specific element in an array variable. | |
| iShaderVariableAccessor * | GetAccessor () const |
| Get the accessor. | |
| intptr_t | GetAccessorData () const |
| Get the extra accessor data. | |
| csShaderVariable * | GetArrayElement (size_t element) |
| Get a specific element in an array variable Do not hold on to this for long, since it might change if the array size changes. | |
| size_t | GetArraySize () |
| Get the number of elements in an array variable. | |
| CS::ShaderVarStringID | GetName () const |
| Get the name of the variable. | |
| VariableType | GetType () |
| Get type of data stored. | |
| bool | GetValue (int &value) |
| Retrieve an int. | |
| bool | GetValue (float &value) |
| Retrieve a float. | |
| bool | GetValue (csRGBpixel &value) |
| Retrieve a color. | |
| bool | GetValue (iTextureHandle *&value) |
| Retrieve a texture handle. | |
| bool | GetValue (iTextureWrapper *&value) |
| Retrieve a texture wrapper. | |
| bool | GetValue (iRenderBuffer *&value) |
| Retrieve a iRenderBuffer. | |
| bool | GetValue (csVector2 &value) |
| Retrieve a csVector2. | |
| bool | GetValue (csVector3 &value) |
| Retrieve a csVector3. | |
| bool | GetValue (csColor &value) |
| Retrieve a csColor. | |
| bool | GetValue (csVector4 &value) |
| Retrieve a csVector4. | |
| bool | GetValue (csQuaternion &value) |
| Retrieve a csQuaternion. | |
| bool | GetValue (csMatrix3 &value) |
| Retrieve a csMatrix3. | |
| bool | GetValue (csReversibleTransform &value) |
| Retrieve a csReversibleTransform. | |
| bool | GetValue (CS::Math::Matrix4 &value) |
| Retrieve a CS::Math::Matrix4. | |
| void | SetAccessor (iShaderVariableAccessor *a, intptr_t extraData=0) |
| Set an accessor to use when getting the value. | |
| void | SetArrayElement (size_t element, csShaderVariable *variable) |
| Set a specific element in an array variable. | |
| void | SetArraySize (size_t size) |
| Set the number of elements in an array variable. | |
| void | SetName (CS::ShaderVarStringID newName) |
| Set the name of the variable. | |
| void | SetType (VariableType t) |
| Set type (calling this after SetValue will cause undefined behaviour) | |
| bool | SetValue (int value) |
| Store an int. | |
| bool | SetValue (float value) |
| Store a float. | |
| bool | SetValue (const csRGBpixel &value) |
| Store a color. | |
| bool | SetValue (iTextureHandle *value) |
| Store a texture handle. | |
| bool | SetValue (iTextureWrapper *value) |
| Store a texture wrapper. | |
| bool | SetValue (iRenderBuffer *value) |
| Store a render buffer. | |
| bool | SetValue (const csVector2 &value) |
| Store a csVector2. | |
| bool | SetValue (const csVector3 &value) |
| Store a csVector3. | |
| bool | SetValue (const csColor &value) |
| Store a csColor. | |
| bool | SetValue (const csColor4 &value) |
| Store a csColor4. | |
| bool | SetValue (const csVector4 &value) |
| Store a csVector4. | |
| bool | SetValue (const csMatrix3 &value) |
| Store a csMatrix3. | |
| bool | SetValue (const csReversibleTransform &value) |
| Store a csReversibleTransform. | |
| bool | SetValue (const CS::Math::Matrix4 &value) |
| Store a CS::Math::Matrix4. | |
Storage class for "shader vars", inheritable variables in the shader system.
Shader vars are a primary system to transport information from the engine/meshes/etc. to the renderer.
Definition at line 95 of file shadervar.h.
Data types that can be stored.
Data storage and retrieval is not strict - data stored as INT, FLOAT or any VECTORx data can also be retrieved as any other of those.
| UNKNOWN |
No value was yet set, hence the type is unknown. |
| INT |
Integer. |
| FLOAT |
Float. |
| TEXTURE |
Texture. |
| RENDERBUFFER |
Renderbuffer. |
| VECTOR2 |
Vector with 2 components. |
| VECTOR3 |
Vector with 3 components. |
| VECTOR4 |
Vector with 4 components. |
| MATRIX3X3 |
3x3 Matrix |
| TRANSFORM |
Transform. |
| ARRAY |
Array. |
| MATRIX4X4 |
4x4 Matrix |
| COLOR |
Color.
|
Definition at line 103 of file shadervar.h.
Construct without a name.
SetName() must be called before the variable can be used.
Construct with name.
| size_t csShaderVariable::FindArrayElement | ( | const csRef< csShaderVariable > & | sv | ) | [inline] |
Find a specific element in an array variable.
Definition at line 697 of file shadervar.h.
| iShaderVariableAccessor* csShaderVariable::GetAccessor | ( | ) | const [inline] |
Get the accessor.
Definition at line 198 of file shadervar.h.
| intptr_t csShaderVariable::GetAccessorData | ( | ) | const [inline] |
Get the extra accessor data.
Definition at line 204 of file shadervar.h.
| csShaderVariable* csShaderVariable::GetArrayElement | ( | size_t | element | ) | [inline] |
Get a specific element in an array variable Do not hold on to this for long, since it might change if the array size changes.
Definition at line 675 of file shadervar.h.
| size_t csShaderVariable::GetArraySize | ( | ) | [inline] |
Get the number of elements in an array variable.
Definition at line 665 of file shadervar.h.
| CS::ShaderVarStringID csShaderVariable::GetName | ( | ) | const [inline] |
Get the name of the variable.
Definition at line 190 of file shadervar.h.
| VariableType csShaderVariable::GetType | ( | ) | [inline] |
Get type of data stored.
Definition at line 154 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | int & | value | ) | [inline] |
Retrieve an int.
Definition at line 210 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | float & | value | ) | [inline] |
Retrieve a float.
Definition at line 223 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csRGBpixel & | value | ) | [inline] |
Retrieve a color.
Definition at line 236 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | iTextureHandle *& | value | ) | [inline] |
Retrieve a texture handle.
Definition at line 263 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | iTextureWrapper *& | value | ) | [inline] |
Retrieve a texture wrapper.
Definition at line 285 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | iRenderBuffer *& | value | ) | [inline] |
Retrieve a iRenderBuffer.
Definition at line 301 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csVector2 & | value | ) | [inline] |
Retrieve a csVector2.
Definition at line 311 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csVector3 & | value | ) | [inline] |
Retrieve a csVector3.
Definition at line 324 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csColor & | value | ) | [inline] |
Retrieve a csColor.
Definition at line 337 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csVector4 & | value | ) | [inline] |
Retrieve a csVector4.
Definition at line 350 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csQuaternion & | value | ) | [inline] |
Retrieve a csQuaternion.
Definition at line 368 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csMatrix3 & | value | ) | [inline] |
Retrieve a csMatrix3.
Definition at line 381 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | csReversibleTransform & | value | ) | [inline] |
Retrieve a csReversibleTransform.
Definition at line 397 of file shadervar.h.
| bool csShaderVariable::GetValue | ( | CS::Math::Matrix4 & | value | ) | [inline] |
Retrieve a CS::Math::Matrix4.
Definition at line 413 of file shadervar.h.
| void csShaderVariable::SetAccessor | ( | iShaderVariableAccessor * | a, |
| intptr_t | extraData = 0 |
||
| ) | [inline] |
Set an accessor to use when getting the value.
Definition at line 169 of file shadervar.h.
| void csShaderVariable::SetArrayElement | ( | size_t | element, |
| csShaderVariable * | variable | ||
| ) | [inline] |
Set a specific element in an array variable.
Definition at line 687 of file shadervar.h.
| void csShaderVariable::SetArraySize | ( | size_t | size | ) | [inline] |
Set the number of elements in an array variable.
Definition at line 656 of file shadervar.h.
| void csShaderVariable::SetName | ( | CS::ShaderVarStringID | newName | ) | [inline] |
Set the name of the variable.
Definition at line 181 of file shadervar.h.
| void csShaderVariable::SetType | ( | VariableType | t | ) | [inline] |
Set type (calling this after SetValue will cause undefined behaviour)
Definition at line 163 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | int | value | ) | [inline] |
Store an int.
Definition at line 440 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | float | value | ) | [inline] |
Store a float.
Definition at line 450 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csRGBpixel & | value | ) | [inline] |
Store a color.
Definition at line 463 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | iTextureHandle * | value | ) | [inline] |
Store a texture handle.
Definition at line 476 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | iTextureWrapper * | value | ) | [inline] |
Store a texture wrapper.
Definition at line 496 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | iRenderBuffer * | value | ) | [inline] |
Store a render buffer.
Definition at line 517 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csVector2 & | value | ) | [inline] |
Store a csVector2.
Definition at line 534 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csVector3 & | value | ) | [inline] |
Store a csVector3.
Definition at line 547 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csColor & | value | ) | [inline] |
Store a csColor.
Definition at line 560 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csColor4 & | value | ) | [inline] |
Store a csColor4.
Definition at line 573 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csVector4 & | value | ) | [inline] |
Store a csVector4.
Definition at line 586 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csMatrix3 & | value | ) | [inline] |
Store a csMatrix3.
Definition at line 611 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const csReversibleTransform & | value | ) | [inline] |
Store a csReversibleTransform.
Definition at line 622 of file shadervar.h.
| bool csShaderVariable::SetValue | ( | const CS::Math::Matrix4 & | value | ) | [inline] |
Store a CS::Math::Matrix4.
Definition at line 633 of file shadervar.h.