CrystalSpace

Public API Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

csShaderVariable Class Reference

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

#include <csgfx/shadervar.h>

Inheritance diagram for csShaderVariable:

csRefCount List of all members.

Public Types

enum  VariableType {
  INT = 1, FLOAT, COLOR, TEXTURE,
  RENDERBUFFER, VECTOR2, VECTOR3, VECTOR4,
  MATRIX, TRANSFORM, ARRAY
}
 Data types that can be stored. More...

Public Member Functions

 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 () const
 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 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 64 of file shadervar.h.


Member Enumeration Documentation

enum csShaderVariable::VariableType
 

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:
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 72 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 417 of file shadervar.h.

size_t csShaderVariable::GetArraySize  )  [inline]
 

Get the number of elements in an array variable.

Definition at line 404 of file shadervar.h.

csStringID csShaderVariable::GetName  )  const [inline]
 

Get the name of the variable.

Definition at line 153 of file shadervar.h.

VariableType csShaderVariable::GetType  )  const [inline]
 

Get type of data stored.

Definition at line 138 of file shadervar.h.

bool csShaderVariable::GetValue csReversibleTransform value  )  [inline]
 

Retrieve a csReversibleTransform.

Definition at line 257 of file shadervar.h.

bool csShaderVariable::GetValue csMatrix3 value  )  [inline]
 

Retrieve a csMatrix3.

Definition at line 241 of file shadervar.h.

bool csShaderVariable::GetValue csVector4 value  )  [inline]
 

Retrieve a csVector4.

Definition at line 233 of file shadervar.h.

bool csShaderVariable::GetValue csColor value  )  [inline]
 

Retrieve a csColor.

Definition at line 225 of file shadervar.h.

References csColor::Set().

bool csShaderVariable::GetValue csVector3 value  )  [inline]
 

Retrieve a csVector3.

Definition at line 217 of file shadervar.h.

References csVector3::Set().

bool csShaderVariable::GetValue csVector2 value  )  [inline]
 

Retrieve a csVector2.

Definition at line 209 of file shadervar.h.

References csVector2::Set().

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

Retrieve a iRenderBuffer.

Definition at line 201 of file shadervar.h.

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

Retrieve a texture wrapper.

Definition at line 193 of file shadervar.h.

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

Retrieve a texture handle.

Definition at line 183 of file shadervar.h.

bool csShaderVariable::GetValue csRGBpixel value  )  [inline]
 

Retrieve a color.

Definition at line 172 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 164 of file shadervar.h.

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

Retrieve an int.

Definition at line 156 of file shadervar.h.

void csShaderVariable::SetAccessor iShaderVariableAccessor a  )  [inline]
 

Set an accessor to use when getting the value.

Definition at line 143 of file shadervar.h.

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

Set a specific element in an array variable.

Definition at line 429 of file shadervar.h.

void csShaderVariable::SetArraySize size_t  size  )  [inline]
 

Set the number of elements in an array variable.

Definition at line 394 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 150 of file shadervar.h.

void csShaderVariable::SetType VariableType  t  )  [inline]
 

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

Definition at line 140 of file shadervar.h.

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

Store a csReversibleTransform.

Definition at line 379 of file shadervar.h.

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

Store a csMatrix3.

Definition at line 364 of file shadervar.h.

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

Store a csVector4.

Definition at line 355 of file shadervar.h.

References csVector4::w, csVector4::x, csVector4::y, and csVector4::z.

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

Store a csColor.

Definition at line 346 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 337 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 328 of file shadervar.h.

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

bool csShaderVariable::SetValue iRenderBuffer value  )  [inline]
 

Store a render buffer.

Definition at line 320 of file shadervar.h.

bool csShaderVariable::SetValue iTextureWrapper value  )  [inline]
 

Store a texture wrapper.

Definition at line 312 of file shadervar.h.

bool csShaderVariable::SetValue iTextureHandle value  )  [inline]
 

Store a texture handle.

Definition at line 304 of file shadervar.h.

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

Store a color.

Definition at line 293 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 284 of file shadervar.h.

bool csShaderVariable::SetValue int  value  )  [inline]
 

Store an int.

Definition at line 274 of file shadervar.h.


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