![]() |
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.