CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | 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
}
 Data types that can be stored. More...

Public Member Functions

 csShaderVariable (csStringID name)
 Constructor.
VariableType GetType () const
 Get type of data stored.
void SetType (VariableType t)
 Set type (calling this after SetValue will cause undefined behaviour).
void SetAccessor (iShaderVariableAccessor *a)
 Set an accessor to use when getting the value.
csStringID GetName () const
 Get the name of the variable.
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 (csVector4 &value)
 Retrieve a csVector4.
bool GetValue (csMatrix3 &value)
 Retrieve a csMatrix3.
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 csVector4 &value)
 Store a csVector4.
bool SetValue (const csMatrix3 &value)
 Store a csMatrix3.

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 62 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.

Enumeration values:
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.

Definition at line 70 of file shadervar.h.


Constructor & Destructor Documentation

csShaderVariable::csShaderVariable (  csStringID  name  ) 
 

Constructor.


Member Function Documentation

csStringID csShaderVariable::GetName (   )  const [inline]
 

Get the name of the variable.

Definition at line 127 of file shadervar.h.

References csStringID.

VariableType csShaderVariable::GetType (   )  const [inline]
 

Get type of data stored.

Definition at line 119 of file shadervar.h.

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

Retrieve a csMatrix3.

Definition at line 207 of file shadervar.h.

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

Retrieve a csVector4.

Definition at line 199 of file shadervar.h.

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

Retrieve a csVector3.

Definition at line 191 of file shadervar.h.

References csVector3::Set().

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

Retrieve a csVector2.

Definition at line 183 of file shadervar.h.

References csVector2::Set().

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

Retrieve a iRenderBuffer.

Definition at line 175 of file shadervar.h.

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

Retrieve a texture wrapper.

Definition at line 167 of file shadervar.h.

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

Retrieve a texture handle.

Definition at line 157 of file shadervar.h.

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

Retrieve a color.

Definition at line 146 of file shadervar.h.

References csRGBpixel::alpha, csRGBpixel::blue, csRGBpixel::green, iShaderVariableAccessor::PreGetValue(), and csRGBpixel::red.

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

Retrieve a float.

Definition at line 138 of file shadervar.h.

References iShaderVariableAccessor::PreGetValue().

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

Retrieve an int.

Definition at line 130 of file shadervar.h.

References iShaderVariableAccessor::PreGetValue().

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

Set an accessor to use when getting the value.

Definition at line 124 of file shadervar.h.

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

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

Definition at line 121 of file shadervar.h.

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

Store a csMatrix3.

Definition at line 305 of file shadervar.h.

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

Store a csVector4.

Definition at line 296 of file shadervar.h.

References csVector3::Set(), csVector4::w, csVector4::x, csVector4::y, and csVector4::z.

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

Store a csVector3.

Definition at line 287 of file shadervar.h.

References csVector2::Set(), csVector3::x, csVector3::y, and csVector3::z.

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

Store a csVector2.

Definition at line 278 of file shadervar.h.

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

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

Store a render buffer.

Definition at line 270 of file shadervar.h.

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

Store a texture wrapper.

Definition at line 262 of file shadervar.h.

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

Store a texture handle.

Definition at line 254 of file shadervar.h.

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

Store a color.

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

References csMatrix3::Set().

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

Store an int.

Definition at line 224 of file shadervar.h.

References csMatrix3::Set().


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