csShaderVariable Class Reference
[3D]
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, MATRIX, TRANSFORM, ARRAY, COLOR = VECTOR4 } |
Data types that can be stored. More... | |
Public Member Functions | |
csShaderVariable () | |
Construct without a name. | |
csShaderVariable (csStringID name) | |
Construct with name. | |
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. | |
csStringID | GetName () const |
Get the name of the variable. | |
VariableType | GetType () |
Get type of data stored. | |
bool | GetValue (iRenderBuffer *&value) |
Retrieve a iRenderBuffer. | |
bool | GetValue (iTextureWrapper *&value) |
Retrieve a texture wrapper. | |
bool | GetValue (csVector2 &value) |
Retrieve a csVector2. | |
bool | GetValue (csVector3 &value) |
Retrieve a csVector3. | |
bool | GetValue (csColor &value) |
Retrieve a csColor. | |
bool | GetValue (csQuaternion &value) |
Retrieve a csQuaternion. | |
bool | GetValue (csMatrix3 &value) |
Retrieve a csMatrix3. | |
bool | GetValue (csVector4 &value) |
Retrieve a csVector4. | |
bool | GetValue (int &value) |
Retrieve an int. | |
bool | GetValue (csReversibleTransform &value) |
Retrieve a csReversibleTransform. | |
bool | GetValue (float &value) |
Retrieve a float. | |
bool | GetValue (csRGBpixel &value) |
Retrieve a color. | |
bool | GetValue (iTextureHandle *&value) |
Retrieve a texture handle. | |
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 (csStringID newName) |
Set the name of the variable. | |
void | SetType (VariableType t) |
Set type (calling this after SetValue will cause undefined behaviour). | |
bool | SetValue (float value) |
Store a float. | |
bool | SetValue (int value) |
Store an int. | |
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 csColor &value) |
Store a csColor. | |
bool | SetValue (const csVector2 &value) |
Store a csVector2. | |
bool | SetValue (const csReversibleTransform &value) |
Store a csReversibleTransform. | |
bool | SetValue (const csMatrix3 &value) |
Store a csMatrix3. | |
bool | SetValue (const csRGBpixel &value) |
Store a color. | |
bool | SetValue (const csColor4 &value) |
Store a csColor4. | |
bool | SetValue (const csVector3 &value) |
Store a csVector3. | |
bool | SetValue (const csVector4 &value) |
Store a csVector4. |
Detailed Description
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 73 of file shadervar.h.
Member Enumeration Documentation
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.
- Enumerator:
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.
MATRIX Matrix.
TRANSFORM Transform.
ARRAY Array.
COLOR Color.
- Deprecated:
- Same as VECTOR4.
Definition at line 81 of file shadervar.h.
Constructor & Destructor Documentation
csShaderVariable::csShaderVariable | ( | ) |
Construct without a name.
SetName() must be called before the variable can be used.
csShaderVariable::csShaderVariable | ( | csStringID | name | ) |
Construct with name.
Member Function Documentation
intptr_t csShaderVariable::GetAccessorData | ( | ) | const [inline] |
Get the extra accessor data.
Definition at line 167 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 533 of file shadervar.h.
size_t csShaderVariable::GetArraySize | ( | ) | [inline] |
Get the number of elements in an array variable.
Definition at line 523 of file shadervar.h.
csStringID csShaderVariable::GetName | ( | ) | const [inline] |
Get the name of the variable.
Definition at line 161 of file shadervar.h.
VariableType csShaderVariable::GetType | ( | ) | [inline] |
Get type of data stored.
Definition at line 129 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csQuaternion & | value | ) | [inline] |
Retrieve a csQuaternion.
Definition at line 298 of file shadervar.h.
bool csShaderVariable::GetValue | ( | float & | value | ) | [inline] |
Retrieve a float.
Definition at line 183 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csColor & | value | ) | [inline] |
Retrieve a csColor.
Definition at line 278 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csVector4 & | value | ) | [inline] |
Retrieve a csVector4.
Definition at line 288 of file shadervar.h.
bool csShaderVariable::GetValue | ( | int & | value | ) | [inline] |
Retrieve an int.
Definition at line 173 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csMatrix3 & | value | ) | [inline] |
Retrieve a csMatrix3.
Definition at line 308 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csRGBpixel & | value | ) | [inline] |
Retrieve a color.
Definition at line 193 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csReversibleTransform & | value | ) | [inline] |
Retrieve a csReversibleTransform.
Definition at line 324 of file shadervar.h.
bool csShaderVariable::GetValue | ( | iTextureHandle *& | value | ) | [inline] |
Retrieve a texture handle.
Definition at line 210 of file shadervar.h.
bool csShaderVariable::GetValue | ( | iTextureWrapper *& | value | ) | [inline] |
Retrieve a texture wrapper.
Definition at line 232 of file shadervar.h.
bool csShaderVariable::GetValue | ( | iRenderBuffer *& | value | ) | [inline] |
Retrieve a iRenderBuffer.
Definition at line 248 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csVector2 & | value | ) | [inline] |
Retrieve a csVector2.
Definition at line 258 of file shadervar.h.
bool csShaderVariable::GetValue | ( | csVector3 & | value | ) | [inline] |
Retrieve a csVector3.
Definition at line 268 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 144 of file shadervar.h.
void csShaderVariable::SetArrayElement | ( | size_t | element, | |
csShaderVariable * | variable | |||
) | [inline] |
Set a specific element in an array variable.
Definition at line 545 of file shadervar.h.
void csShaderVariable::SetArraySize | ( | size_t | size | ) | [inline] |
Set the number of elements in an array variable.
Definition at line 514 of file shadervar.h.
void csShaderVariable::SetName | ( | csStringID | newName | ) | [inline] |
Set the name of the variable.
- Warning:
- Changing the name of a variable while it's in use can cause unexpected behaviour.
Definition at line 155 of file shadervar.h.
void csShaderVariable::SetType | ( | VariableType | t | ) | [inline] |
Set type (calling this after SetValue will cause undefined behaviour).
Definition at line 138 of file shadervar.h.
bool csShaderVariable::SetValue | ( | iTextureWrapper * | value | ) | [inline] |
Store a texture wrapper.
Definition at line 390 of file shadervar.h.
bool csShaderVariable::SetValue | ( | iTextureHandle * | value | ) | [inline] |
Store a texture handle.
Definition at line 377 of file shadervar.h.
bool csShaderVariable::SetValue | ( | iRenderBuffer * | value | ) | [inline] |
Store a render buffer.
Definition at line 403 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csRGBpixel & | value | ) | [inline] |
Store a color.
Definition at line 364 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csColor & | value | ) | [inline] |
Store a csColor.
Definition at line 438 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csVector3 & | value | ) | [inline] |
Store a csVector3.
Definition at line 427 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csVector4 & | value | ) | [inline] |
Store a csVector4.
Definition at line 460 of file shadervar.h.
bool csShaderVariable::SetValue | ( | float | value | ) | [inline] |
Store a float.
Definition at line 353 of file shadervar.h.
bool csShaderVariable::SetValue | ( | int | value | ) | [inline] |
Store an int.
Definition at line 341 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csColor4 & | value | ) | [inline] |
Store a csColor4.
Definition at line 449 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csMatrix3 & | value | ) | [inline] |
Store a csMatrix3.
Definition at line 480 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csReversibleTransform & | value | ) | [inline] |
Store a csReversibleTransform.
Definition at line 491 of file shadervar.h.
bool csShaderVariable::SetValue | ( | const csVector2 & | value | ) | [inline] |
Store a csVector2.
Definition at line 416 of file shadervar.h.
The documentation for this class was generated from the following file:
- csgfx/shadervar.h
Generated for Crystal Space 1.4.1 by doxygen 1.7.1