CL_ProgramObject Class Reference
[clanDisplay Display]

OpenGL Program Object. More...

#include <program_object.h>

Inheritance diagram for CL_ProgramObject:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Attributes

bool is_null () const
 Returns true if this object is invalid.
void throw_if_null () const
 Throw an exception if this object is invalid.
CL_ProgramObjectProviderget_provider () const
 Retrieves the provider.
unsigned int get_handle () const
 Returns the OpenGL program object handle.
std::vector< CL_ShaderObjectget_shaders () const
 Returns the shaders attached to the program object.
CL_String get_info_log () const
 Returns the current info log for the program object.
int get_attribute_count () const
 Returns the count of active attributes.
std::vector< CL_ProgramAttributeget_attributes () const
 Returns the active attributes.
int get_attribute_location (const CL_StringRef &name) const
 Returns the location of a named active attribute.
int get_uniform_count () const
 Returns the count of active uniform variables.
std::vector< CL_ProgramUniformget_uniforms () const
 Returns the active uniforms.
int get_uniform_location (const CL_StringRef &name) const
 Returns the location of a named uniform variable.
Operations

bool operator== (const CL_ProgramObject &other) const
 Equality operator.
void attach (const CL_ShaderObject &obj)
 Add shader to program object.
void detach (const CL_ShaderObject &obj)
 Remove shader from program object.
void bind_attribute_location (int index, const CL_StringRef &name)
 Bind attribute to specific location.
void bind_frag_data_location (int color_number, const CL_StringRef &name)
 Bind shader out variable a specific color buffer location.
bool link ()
 Link program.
bool validate ()
 Validate program.
void set_uniform1i (const CL_StringRef &name, int value_a)
 Set uniform variable(s).
void set_uniform2i (const CL_StringRef &name, int value_a, int value_b)
 Set uniform2i.
void set_uniform3i (const CL_StringRef &name, int value_a, int value_b, int value_c)
 Set uniform2i.
void set_uniform4i (const CL_StringRef &name, int value_a, int value_b, int value_c, int value_d)
 Set uniform4i.
void set_uniformiv (const CL_StringRef &name, int size, int count, int *data)
 Set uniformiv.
void set_uniform2i (const CL_StringRef &name, CL_Vec2i vec)
 Set uniform2i.
void set_uniform3i (const CL_StringRef &name, CL_Vec3i vec)
 Set uniform3i.
void set_uniform4i (const CL_StringRef &name, CL_Vec4i vec)
 Set uniform4i.
void set_uniform2s (const CL_StringRef &name, CL_Vec2s vec)
 Set uniform2s.
void set_uniform3s (const CL_StringRef &name, CL_Vec3s vec)
 Set uniform3s.
void set_uniform4s (const CL_StringRef &name, CL_Vec4s vec)
 Set uniform4s.
void set_uniform2b (const CL_StringRef &name, CL_Vec2b vec)
 Set uniform2b.
void set_uniform3b (const CL_StringRef &name, CL_Vec3b vec)
 Set uniform3b.
void set_uniform4b (const CL_StringRef &name, CL_Vec4b vec)
 Set uniform4b.
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec2i *data)
 Set uniformiv.
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec3i *data)
 Set uniformiv.
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec4i *data)
 Set uniformiv.
void set_uniform1f (const CL_StringRef &name, float value_a)
 Set uniform1f.
void set_uniform2f (const CL_StringRef &name, float value_a, float value_b)
 Set uniform2f.
void set_uniform3f (const CL_StringRef &name, float value_a, float value_b, float value_c)
 Set uniform2f.
void set_uniform4f (const CL_StringRef &name, float value_a, float value_b, float value_c, float value_d)
 Set uniform4f.
void set_uniformfv (const CL_StringRef &name, int size, int count, float *data)
 Set uniformfv.
void set_uniform2f (const CL_StringRef &name, CL_Vec2f vec)
 Set uniform2f.
void set_uniform3f (const CL_StringRef &name, CL_Vec3f vec)
 Set uniform3f.
void set_uniform4f (const CL_StringRef &name, CL_Vec4f vec)
 Set uniform4f.
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec2f *data)
 Set uniformfv.
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec3f *data)
 Set uniformfv.
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec4f *data)
 Set uniformfv.
void set_uniform_matrix (const CL_StringRef &name, int size, int count, bool transpose, float *data)
 Set uniform matrices.
void set_uniform_matrix (const CL_StringRef &name, CL_Mat2f matrix)
 Set uniform matrix.
void set_uniform_matrix (const CL_StringRef &name, CL_Mat3f matrix)
 Set uniform matrix.
void set_uniform_matrix (const CL_StringRef &name, CL_Mat4f matrix)
 Set uniform matrix.
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat2f *matrix)
 Set uniform matrix.
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat3f *matrix)
 Set uniform matrix.
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat4f *matrix)
 Set uniform matrix.

Construction



 CL_ProgramObject ()
 Construct a null instance.
 CL_ProgramObject (CL_GraphicContext &gc)
 Constructs a ProgramObject.
 CL_ProgramObject (CL_GraphicContextProvider *gc_provider)
 Constructs a ProgramObject.
 CL_ProgramObject (CL_ProgramObjectProvider *provider)
 Constructs a ProgramObject.
virtual ~CL_ProgramObject ()
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &resource_id, CL_ResourceManager *resman)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &fragment_fullname)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &geometry_fullname, const CL_StringRef &fragment_fullname)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &geometry_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &fragment_file)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &geometry_file, CL_IODevice &fragment_file)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &fragment_fullname)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load.
static CL_ProgramObject load (CL_GraphicContext &gc, CL_IODevice &fragment_file)
 Load.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &fragment_fullname)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &geometry_fullname, const CL_StringRef &fragment_fullname)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &geometry_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &fragment_file)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &geometry_file, CL_IODevice &fragment_file)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &fragment_fullname)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory)
 Load and link.
static CL_ProgramObject load_and_link (CL_GraphicContext &gc, CL_IODevice &fragment_file)
 Load and link.

Detailed Description

OpenGL Program Object.

The shader objects that are to be used by programmable stages of OpenGL are collected together to form a program object. CL_ProgramObject is ClanLib's C++ interface to OpenGL program objects.

To construct a program object programatically, the procedure is as follows:

       CL_ShaderObject vertex_shader(cl_shadertype_vertex, vertex_glsl_sourcecode);
       CL_ShaderObject fragment_shader(cl_shadertype_fragment, fragment_glsl_sourcecode);
       CL_ProgramObject program;
       program.attach(vertex_shader);
       program.attach(fragment_shader);
       program.link();
       

For more information about program objects, see the OpenGL 2.0 specification at www.opengl.org. Documentation about the OpenGL Shader Language (GLSL) is also available from www.opengl.org.


Constructor & Destructor Documentation

CL_ProgramObject::CL_ProgramObject (  ) 

Construct a null instance.

CL_ProgramObject::CL_ProgramObject ( CL_GraphicContext gc  ) 

Constructs a ProgramObject.

Parameters:
gc = Graphic Context
CL_ProgramObject::CL_ProgramObject ( CL_GraphicContextProvider gc_provider  ) 

Constructs a ProgramObject.

Parameters:
gc_provider = Graphic Context Provider
CL_ProgramObject::CL_ProgramObject ( CL_ProgramObjectProvider provider  ) 

Constructs a ProgramObject.

Parameters:
provider = Font Provider
virtual CL_ProgramObject::~CL_ProgramObject (  )  [virtual]

Member Function Documentation

void CL_ProgramObject::attach ( const CL_ShaderObject obj  ) 

Add shader to program object.

void CL_ProgramObject::bind_attribute_location ( int  index,
const CL_StringRef name 
)

Bind attribute to specific location.

This function must be called before linking.

void CL_ProgramObject::bind_frag_data_location ( int  color_number,
const CL_StringRef name 
)

Bind shader out variable a specific color buffer location.

This function must be called before linking.

void CL_ProgramObject::detach ( const CL_ShaderObject obj  ) 

Remove shader from program object.

int CL_ProgramObject::get_attribute_count (  )  const

Returns the count of active attributes.

int CL_ProgramObject::get_attribute_location ( const CL_StringRef name  )  const

Returns the location of a named active attribute.

std::vector<CL_ProgramAttribute> CL_ProgramObject::get_attributes (  )  const

Returns the active attributes.

unsigned int CL_ProgramObject::get_handle (  )  const

Returns the OpenGL program object handle.

CL_String CL_ProgramObject::get_info_log (  )  const

Returns the current info log for the program object.

CL_ProgramObjectProvider* CL_ProgramObject::get_provider (  )  const

Retrieves the provider.

Reimplemented in CL_ProgramObject_SWRender.

std::vector<CL_ShaderObject> CL_ProgramObject::get_shaders (  )  const

Returns the shaders attached to the program object.

int CL_ProgramObject::get_uniform_count (  )  const

Returns the count of active uniform variables.

int CL_ProgramObject::get_uniform_location ( const CL_StringRef name  )  const

Returns the location of a named uniform variable.

std::vector<CL_ProgramUniform> CL_ProgramObject::get_uniforms (  )  const

Returns the active uniforms.

bool CL_ProgramObject::is_null (  )  const [inline]

Returns true if this object is invalid.

bool CL_ProgramObject::link (  ) 

Link program.

If the linking fails, get_info_log() will return the link log.

static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef fragment_fullname 
) [static]

Load.

Parameters:
gc = Graphic Context
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef vertex_filename,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_filename = String Ref
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load.

Parameters:
gc = Graphic Context
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef vertex_filename,
const CL_StringRef geometry_filename,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_filename = String Ref
geometry_filename = String Ref
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
CL_IODevice fragment_file 
) [static]

Load.

Parameters:
gc = Graphic Context
fragment_file = IODevice
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef resource_id,
CL_ResourceManager resman 
) [static]

Load.

Parameters:
gc = Graphic Context
resource_id = String Ref
resman = Resource Manager
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef vertex_fullname,
const CL_StringRef fragment_fullname 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_fullname = String Ref
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
const CL_StringRef vertex_fullname,
const CL_StringRef geometry_fullname,
const CL_StringRef fragment_fullname 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_fullname = String Ref
geometry_fullname = String Ref
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
CL_IODevice vertex_file,
CL_IODevice fragment_file 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_file = IODevice
fragment_file = IODevice
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load ( CL_GraphicContext gc,
CL_IODevice vertex_file,
CL_IODevice geometry_file,
CL_IODevice fragment_file 
) [static]

Load.

Parameters:
gc = Graphic Context
vertex_file = IODevice
geometry_file = IODevice
fragment_file = IODevice
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
CL_IODevice vertex_file,
CL_IODevice geometry_file,
CL_IODevice fragment_file 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_file = IODevice
geometry_file = IODevice
fragment_file = IODevice
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef fragment_fullname 
) [static]

Load and link.

Parameters:
gc = Graphic Context
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load and link.

Parameters:
gc = Graphic Context
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
CL_IODevice fragment_file 
) [static]

Load and link.

Parameters:
gc = Graphic Context
fragment_file = IODevice
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef vertex_fullname,
const CL_StringRef fragment_fullname 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_fullname = String Ref
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef vertex_fullname,
const CL_StringRef geometry_fullname,
const CL_StringRef fragment_fullname 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_fullname = String Ref
geometry_fullname = String Ref
fragment_fullname = String Ref
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef vertex_filename,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_filename = String Ref
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
const CL_StringRef vertex_filename,
const CL_StringRef geometry_filename,
const CL_StringRef fragment_filename,
const CL_VirtualDirectory directory 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_filename = String Ref
geometry_filename = String Ref
fragment_filename = String Ref
directory = Virtual Directory
Returns:
Program Object
static CL_ProgramObject CL_ProgramObject::load_and_link ( CL_GraphicContext gc,
CL_IODevice vertex_file,
CL_IODevice fragment_file 
) [static]

Load and link.

Parameters:
gc = Graphic Context
vertex_file = IODevice
fragment_file = IODevice
Returns:
Program Object
bool CL_ProgramObject::operator== ( const CL_ProgramObject other  )  const

Equality operator.

void CL_ProgramObject::set_uniform1f ( const CL_StringRef name,
float  value_a 
)

Set uniform1f.

Parameters:
name = String Ref
value_a = value
void CL_ProgramObject::set_uniform1i ( const CL_StringRef name,
int  value_a 
)

Set uniform variable(s).

Parameters:
name = String Ref
value_a = value
void CL_ProgramObject::set_uniform2b ( const CL_StringRef name,
CL_Vec2b  vec 
) [inline]

Set uniform2b.

Parameters:
name = String Ref
vec = Vec2b

References CL_Vec2< Type >::x, and CL_Vec2< Type >::y.

void CL_ProgramObject::set_uniform2f ( const CL_StringRef name,
float  value_a,
float  value_b 
)

Set uniform2f.

Parameters:
name = String Ref
value_a = value
value_b = value
void CL_ProgramObject::set_uniform2f ( const CL_StringRef name,
CL_Vec2f  vec 
) [inline]

Set uniform2f.

Parameters:
name = String Ref
vec = Vec2f

References set_uniform2f(), CL_Vec2< Type >::x, and CL_Vec2< Type >::y.

Referenced by set_uniform2f().

void CL_ProgramObject::set_uniform2i ( const CL_StringRef name,
int  value_a,
int  value_b 
)

Set uniform2i.

Parameters:
name = String Ref
value_a = value
value_b = value
void CL_ProgramObject::set_uniform2i ( const CL_StringRef name,
CL_Vec2i  vec 
) [inline]

Set uniform2i.

Parameters:
name = String Ref
vec = Vec2i

References set_uniform2i(), CL_Vec2< Type >::x, and CL_Vec2< Type >::y.

Referenced by set_uniform2i().

void CL_ProgramObject::set_uniform2s ( const CL_StringRef name,
CL_Vec2s  vec 
) [inline]

Set uniform2s.

Parameters:
name = String Ref
vec = Vec2s

References CL_Vec2< Type >::x, and CL_Vec2< Type >::y.

void CL_ProgramObject::set_uniform3b ( const CL_StringRef name,
CL_Vec3b  vec 
) [inline]

Set uniform3b.

Parameters:
name = String Ref
vec = Vec3b

References CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.

void CL_ProgramObject::set_uniform3f ( const CL_StringRef name,
float  value_a,
float  value_b,
float  value_c 
)

Set uniform2f.

Parameters:
name = String Ref
value_a = value
value_b = value
value_c = value
void CL_ProgramObject::set_uniform3f ( const CL_StringRef name,
CL_Vec3f  vec 
) [inline]

Set uniform3f.

Parameters:
name = String Ref
vec = Vec3f

References set_uniform3f(), CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.

Referenced by set_uniform3f().

void CL_ProgramObject::set_uniform3i ( const CL_StringRef name,
int  value_a,
int  value_b,
int  value_c 
)

Set uniform2i.

Parameters:
name = String Ref
value_a = value
value_b = value
value_c = value
void CL_ProgramObject::set_uniform3i ( const CL_StringRef name,
CL_Vec3i  vec 
) [inline]

Set uniform3i.

Parameters:
name = String Ref
vec = Vec3i

References set_uniform3i(), CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.

Referenced by set_uniform3i().

void CL_ProgramObject::set_uniform3s ( const CL_StringRef name,
CL_Vec3s  vec 
) [inline]

Set uniform3s.

Parameters:
name = String Ref
vec = Vec3s

References CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.

void CL_ProgramObject::set_uniform4b ( const CL_StringRef name,
CL_Vec4b  vec 
) [inline]

Set uniform4b.

Parameters:
name = String Ref
vec = Vec4b

References CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.

void CL_ProgramObject::set_uniform4f ( const CL_StringRef name,
float  value_a,
float  value_b,
float  value_c,
float  value_d 
)

Set uniform4f.

Parameters:
name = String Ref
value_a = value
value_b = value
value_c = value
value_d = value
void CL_ProgramObject::set_uniform4f ( const CL_StringRef name,
CL_Vec4f  vec 
) [inline]

Set uniform4f.

Parameters:
name = String Ref
vec = Vec4f

References set_uniform4f(), CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.

Referenced by set_uniform4f().

void CL_ProgramObject::set_uniform4i ( const CL_StringRef name,
CL_Vec4i  vec 
) [inline]

Set uniform4i.

Parameters:
name = String Ref
vec = Vec4i

References set_uniform4i(), CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.

Referenced by set_uniform4i().

void CL_ProgramObject::set_uniform4i ( const CL_StringRef name,
int  value_a,
int  value_b,
int  value_c,
int  value_d 
)

Set uniform4i.

Parameters:
name = String Ref
value_a = value
value_b = value
value_c = value
value_d = value
void CL_ProgramObject::set_uniform4s ( const CL_StringRef name,
CL_Vec4s  vec 
) [inline]

Set uniform4s.

Parameters:
name = String Ref
vec = Vec4s

References CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
int  count,
CL_Mat3f matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
count = value
matrix = Mat3f

References CL_Mat3< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
int  size,
int  count,
bool  transpose,
float *  data 
)

Set uniform matrices.

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
int  count,
CL_Mat4f matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
count = value
matrix = Mat4f

References CL_Mat4< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
CL_Mat3f  matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
matrix = Mat3f

References CL_Mat3< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
CL_Mat2f  matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
matrix = Mat2f

References CL_Mat2< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
int  count,
CL_Mat2f matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
count = value
matrix = Mat2f

References CL_Mat2< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniform_matrix ( const CL_StringRef name,
CL_Mat4f  matrix 
) [inline]

Set uniform matrix.

Parameters:
name = String Ref
matrix = Mat4f

References CL_Mat4< Type >::matrix, and set_uniform_matrix().

Referenced by set_uniform_matrix().

void CL_ProgramObject::set_uniformfv ( const CL_StringRef name,
int  count,
CL_Vec4f data 
) [inline]

Set uniformfv.

Parameters:
name = String Ref
count = value
data = Vec4f

References set_uniformfv().

Referenced by set_uniformfv().

void CL_ProgramObject::set_uniformfv ( const CL_StringRef name,
int  count,
CL_Vec3f data 
) [inline]

Set uniformfv.

Parameters:
name = String Ref
count = value
data = Vec3f

References set_uniformfv().

Referenced by set_uniformfv().

void CL_ProgramObject::set_uniformfv ( const CL_StringRef name,
int  size,
int  count,
float *  data 
)

Set uniformfv.

Parameters:
name = String Ref
size = value
count = value
data = value
void CL_ProgramObject::set_uniformfv ( const CL_StringRef name,
int  count,
CL_Vec2f data 
) [inline]

Set uniformfv.

Parameters:
name = String Ref
count = value
data = Vec2f

References set_uniformfv().

Referenced by set_uniformfv().

void CL_ProgramObject::set_uniformiv ( const CL_StringRef name,
int  size,
int  count,
int *  data 
)

Set uniformiv.

Parameters:
name = String Ref
size = value
count = value
data = value
void CL_ProgramObject::set_uniformiv ( const CL_StringRef name,
int  count,
CL_Vec2i data 
) [inline]

Set uniformiv.

Parameters:
name = String Ref
count = value
data = Vec2i

References set_uniformiv().

Referenced by set_uniformiv().

void CL_ProgramObject::set_uniformiv ( const CL_StringRef name,
int  count,
CL_Vec3i data 
) [inline]

Set uniformiv.

Parameters:
name = String Ref
count = value
data = Vec3i

References set_uniformiv().

Referenced by set_uniformiv().

void CL_ProgramObject::set_uniformiv ( const CL_StringRef name,
int  count,
CL_Vec4i data 
) [inline]

Set uniformiv.

Parameters:
name = String Ref
count = value
data = Vec4i

References set_uniformiv().

Referenced by set_uniformiv().

void CL_ProgramObject::throw_if_null (  )  const

Throw an exception if this object is invalid.

bool CL_ProgramObject::validate (  ) 

Validate program.

If the validation fails, get_info_log() will return the validation log.


The documentation for this class was generated from the following file: