ork::UniformMatrix< U, T, C, R, V, W > Class Template Reference
[render]

A uniform holding a matrix value. More...

#include <Uniform.h>

Inheritance diagram for ork::UniformMatrix< U, T, C, R, V, W >:
ork::Uniform ork::Object

List of all members.

Public Member Functions

virtual ~UniformMatrix ()
 Deletes this uniform.
virtual UniformType getType () const
 Returns the type of this uniform.
const T * get () const
 Returns the current value of this uniform.
void set (const T *value)
 Sets the value of this uniform.
virtual void setValue (ptr< Value > v)
 Sets the value of this uniform.

Protected Member Functions

 UniformMatrix (Program *program, UniformBlock *block, const string &name, GLint location, int stride, int isRowMajor)
 Creates a new uniform.
virtual void setValue ()
 Sets this uniform in its program.

Protected Attributes

value [C *R]
 The current value of this uniform.

Detailed Description

template<UniformType U, class T, int C, int R, const char * V, const char * W>
class ork::UniformMatrix< U, T, C, R, V, W >

A uniform holding a matrix value.


Constructor & Destructor Documentation

template<UniformType U, class T, int C, int R, const char * V, const char * W>
virtual ork::UniformMatrix< U, T, C, R, V, W >::~UniformMatrix (  )  [inline, virtual]

Deletes this uniform.

template<UniformType U, class T, int C, int R, const char * V, const char * W>
ork::UniformMatrix< U, T, C, R, V, W >::UniformMatrix ( Program program,
UniformBlock block,
const string &  name,
GLint  location,
int  stride,
int  isRowMajor 
) [inline, protected]

Creates a new uniform.

Parameters:
program the Program to which this uniform belongs.
block UniformBlock to which this uniform belongs. Maybe NULL.
name the name of the uniform in the GLSL shader code.
location the location of this uniform. For an uniform inside a block, this location is an offset inside the uniform block buffer.
stride the stride between two consecutive rows or columns when this uniform is stored in an uniform block.
isRowMajor true if this uniform is stored in row major order in an uniform block.

Member Function Documentation

template<UniformType U, class T, int C, int R, const char * V, const char * W>
const T* ork::UniformMatrix< U, T, C, R, V, W >::get (  )  const [inline]

Returns the current value of this uniform.

Returns:
the matrix coefficients in row major order (i.e. first row, second row, etc).
template<UniformType U, class T, int C, int R, const char * V, const char * W>
virtual UniformType ork::UniformMatrix< U, T, C, R, V, W >::getType (  )  const [inline, virtual]

Returns the type of this uniform.

Implements ork::Uniform.

template<UniformType U, class T, int C, int R, const char * V, const char * W>
void ork::UniformMatrix< U, T, C, R, V, W >::set ( const T *  value  )  [inline]

Sets the value of this uniform.

Parameters:
value the matrix coefficients in row major order (i.e. first row, second row, etc).
template<UniformType U, class T, int C, int R, const char * V, const char * W>
virtual void ork::UniformMatrix< U, T, C, R, V, W >::setValue (  )  [protected, virtual]

Sets this uniform in its program.

Implements ork::Uniform.

template<UniformType U, class T, int C, int R, const char * V, const char * W>
virtual void ork::UniformMatrix< U, T, C, R, V, W >::setValue ( ptr< Value v  )  [inline, virtual]

Sets the value of this uniform.

Parameters:
v the new value for this uniform. Must be of the same type as this Uniform.

Implements ork::Uniform.


Member Data Documentation

template<UniformType U, class T, int C, int R, const char * V, const char * W>
T ork::UniformMatrix< U, T, C, R, V, W >::value[C *R] [protected]

The current value of this uniform.

The matrix coefficients are stored in row major order.


Generated on Mon Oct 18 09:36:10 2010 for ork by  doxygen 1.6.1