CrystalSpace

Public API Reference

csShaderVariable Class Reference
[3D]

Storage class for "shader vars", inheritable variables in the shader system. More...

#include <csgfx/shadervar.h>

Inheritance diagram for csShaderVariable:

Inheritance graph
[legend]
List of all members.

Public Types

 ARRAY
 Array.
 COLOR
 Color.
 FLOAT
 Float.
 INT = 1
 Integer.
 MATRIX
 Matrix.
 RENDERBUFFER
 Renderbuffer.
 TEXTURE
 Texture.
 TRANSFORM
 Transform.
 UNKNOWN = 0
 No value was yet set, hence the type is unknown.
enum  VariableType {
  UNKNOWN = 0, INT = 1, FLOAT, COLOR,
  TEXTURE, RENDERBUFFER, VECTOR2, VECTOR3,
  VECTOR4, MATRIX, TRANSFORM, ARRAY
}
 Data types that can be stored. More...
 VECTOR2
 Vector with 2 components.
 VECTOR3
 Vector with 3 components.
 VECTOR4
 Vector with 4 components.

Public Member Functions

void AddVariableToArray (csShaderVariable *variable)
 csShaderVariable (const csShaderVariable &other)
 csShaderVariable (csStringID name)
 Construct with name.
 csShaderVariable ()
 Construct without a name.
csShaderVariableGetArrayElement (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 (csReversibleTransform &value)
 Retrieve a csReversibleTransform.
bool GetValue (csMatrix3 &value)
 Retrieve a csMatrix3.
bool GetValue (csVector4 &value)
 Retrieve a csVector4.
bool GetValue (csColor &value)
 Retrieve a csColor.
bool GetValue (csVector3 &value)
 Retrieve a csVector3.
bool GetValue (csVector2 &value)
 Retrieve a csVector2.
bool GetValue (iRenderBuffer *&value)
 Retrieve a iRenderBuffer.
bool GetValue (iTextureWrapper *&value)
 Retrieve a texture wrapper.
bool GetValue (iTextureHandle *&value)
 Retrieve a texture handle.
bool GetValue (csRGBpixel &value)
 Retrieve a color.
bool GetValue (float &value)
 Retrieve a float.
bool GetValue (int &value)
 Retrieve an int.
void RemoveFromArray (size_t element)
void SetAccessor (iShaderVariableAccessor *a)
 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 (const csReversibleTransform &value)
 Store a csReversibleTransform.
bool SetValue (const csMatrix3 &value)
 Store a csMatrix3.
bool SetValue (const csVector4 &value)
 Store a csVector4.
bool SetValue (const csColor &value)
 Store a csColor.
bool SetValue (const csVector3 &value)
 Store a csVector3.
bool SetValue (const csVector2 &value)
 Store a csVector2.
bool SetValue (iRenderBuffer *value)
 Store a render buffer.
bool SetValue (iTextureWrapper *value)
 Store a texture wrapper.
bool SetValue (iTextureHandle *value)
 Store a texture handle.
bool SetValue (const csRGBpixel &value)
 Store a color.
bool SetValue (float value)
 Store a float.
bool SetValue (int value)
 Store an int.
virtual ~csShaderVariable ()

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 71 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, COLOR 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.
COLOR  Color.
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.

Definition at line 79 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

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 442 of file shadervar.h.

size_t csShaderVariable::GetArraySize (  )  [inline]

Get the number of elements in an array variable.

Definition at line 429 of file shadervar.h.

csStringID csShaderVariable::GetName (  )  const [inline]

Get the name of the variable.

Definition at line 168 of file shadervar.h.

VariableType csShaderVariable::GetType (  )  [inline]

Get type of data stored.

Definition at line 147 of file shadervar.h.

bool csShaderVariable::GetValue ( csReversibleTransform value  )  [inline]

Retrieve a csReversibleTransform.

Definition at line 272 of file shadervar.h.

bool csShaderVariable::GetValue ( csMatrix3 value  )  [inline]

Retrieve a csMatrix3.

Definition at line 256 of file shadervar.h.

bool csShaderVariable::GetValue ( csVector4 value  )  [inline]

Retrieve a csVector4.

Definition at line 248 of file shadervar.h.

bool csShaderVariable::GetValue ( csColor value  )  [inline]

Retrieve a csColor.

Definition at line 240 of file shadervar.h.

References csColor::Set().

bool csShaderVariable::GetValue ( csVector3 value  )  [inline]

Retrieve a csVector3.

Definition at line 232 of file shadervar.h.

References csVector3::Set().

bool csShaderVariable::GetValue ( csVector2 value  )  [inline]

Retrieve a csVector2.

Definition at line 224 of file shadervar.h.

References csVector2::Set().

bool csShaderVariable::GetValue ( iRenderBuffer *&  value  )  [inline]

Retrieve a iRenderBuffer.

Definition at line 216 of file shadervar.h.

bool csShaderVariable::GetValue ( iTextureWrapper *&  value  )  [inline]

Retrieve a texture wrapper.

Definition at line 208 of file shadervar.h.

bool csShaderVariable::GetValue ( iTextureHandle *&  value  )  [inline]

Retrieve a texture handle.

Definition at line 198 of file shadervar.h.

bool csShaderVariable::GetValue ( csRGBpixel value  )  [inline]

Retrieve a color.

Definition at line 187 of file shadervar.h.

References csRGBpixel::alpha, csRGBpixel::blue, csRGBpixel::green, and csRGBpixel::red.

bool csShaderVariable::GetValue ( float &  value  )  [inline]

Retrieve a float.

Definition at line 179 of file shadervar.h.

bool csShaderVariable::GetValue ( int &  value  )  [inline]

Retrieve an int.

Definition at line 171 of file shadervar.h.

Referenced by csLightProperties::csLightProperties().

void csShaderVariable::SetAccessor ( iShaderVariableAccessor a  )  [inline]

Set an accessor to use when getting the value.

Definition at line 158 of file shadervar.h.

void csShaderVariable::SetArrayElement ( size_t  element,
csShaderVariable variable 
) [inline]

Set a specific element in an array variable.

Definition at line 454 of file shadervar.h.

void csShaderVariable::SetArraySize ( size_t  size  )  [inline]

Set the number of elements in an array variable.

Definition at line 419 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 inexpected behaviour.

Definition at line 165 of file shadervar.h.

void csShaderVariable::SetType ( VariableType  t  )  [inline]

Set type (calling this after SetValue will cause undefined behaviour).

Definition at line 155 of file shadervar.h.

bool csShaderVariable::SetValue ( const csReversibleTransform value  )  [inline]

Store a csReversibleTransform.

Definition at line 394 of file shadervar.h.

bool csShaderVariable::SetValue ( const csMatrix3 value  )  [inline]

Store a csMatrix3.

Definition at line 379 of file shadervar.h.

bool csShaderVariable::SetValue ( const csVector4 value  )  [inline]

Store a csVector4.

Definition at line 370 of file shadervar.h.

References csVector4T< T >::w, csVector4T< T >::x, csVector4T< T >::y, and csVector4T< T >::z.

bool csShaderVariable::SetValue ( const csColor value  )  [inline]

Store a csColor.

Definition at line 361 of file shadervar.h.

References csColor::blue, csColor::green, and csColor::red.

bool csShaderVariable::SetValue ( const csVector3 value  )  [inline]

Store a csVector3.

Definition at line 352 of file shadervar.h.

References csVector3::x, csVector3::y, and csVector3::z.

bool csShaderVariable::SetValue ( const csVector2 value  )  [inline]

Store a csVector2.

Definition at line 343 of file shadervar.h.

References csVector2::x, and csVector2::y.

bool csShaderVariable::SetValue ( iRenderBuffer value  )  [inline]

Store a render buffer.

Definition at line 335 of file shadervar.h.

bool csShaderVariable::SetValue ( iTextureWrapper value  )  [inline]

Store a texture wrapper.

Definition at line 327 of file shadervar.h.

bool csShaderVariable::SetValue ( iTextureHandle value  )  [inline]

Store a texture handle.

Definition at line 319 of file shadervar.h.

bool csShaderVariable::SetValue ( const csRGBpixel value  )  [inline]

Store a color.

Definition at line 308 of file shadervar.h.

References csRGBpixel::alpha, csRGBpixel::blue, csRGBpixel::green, and csRGBpixel::red.

bool csShaderVariable::SetValue ( float  value  )  [inline]

Store a float.

Definition at line 299 of file shadervar.h.

bool csShaderVariable::SetValue ( int  value  )  [inline]

Store an int.

Definition at line 289 of file shadervar.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.0.2 by doxygen 1.4.7