ClanLib  2.3.7
List of all members
CL_ProgramObject Class Reference

OpenGL Program Object. More...

#include <program_object.h>

Inheritance diagram for CL_ProgramObject:
Inheritance graph
[legend]

Public Member Functions

Attributes
bool is_null () const
 Returns true if this object is invalid. More...
 
void throw_if_null () const
 Throw an exception if this object is invalid. More...
 
CL_ProgramObjectProviderget_provider () const
 Retrieves the provider. More...
 
unsigned int get_handle () const
 Returns the OpenGL program object handle. More...
 
std::vector< CL_ShaderObjectget_shaders () const
 Returns the shaders attached to the program object. More...
 
CL_String get_info_log () const
 Returns the current info log for the program object. More...
 
int get_attribute_count () const
 Returns the count of active attributes. More...
 
std::vector< CL_ProgramAttributeget_attributes () const
 Returns the active attributes. More...
 
int get_attribute_location (const CL_StringRef &name) const
 Returns the location of a named active attribute. More...
 
int get_uniform_count () const
 Returns the count of active uniform variables. More...
 
std::vector< CL_ProgramUniformget_uniforms () const
 Returns the active uniforms. More...
 
int get_uniform_location (const CL_StringRef &name) const
 Returns the location of a named uniform variable. More...
 
Operations
bool operator== (const CL_ProgramObject &other) const
 Equality operator. More...
 
void attach (const CL_ShaderObject &obj)
 Add shader to program object. More...
 
void detach (const CL_ShaderObject &obj)
 Remove shader from program object. More...
 
void bind_attribute_location (int index, const CL_StringRef &name)
 Bind attribute to specific location. More...
 
void bind_frag_data_location (int color_number, const CL_StringRef &name)
 Bind shader out variable a specific color buffer location. More...
 
bool link ()
 Link program. More...
 
bool validate ()
 Validate program. More...
 
void set_uniform1i (const CL_StringRef &name, int value_a)
 Set uniform variable(s). More...
 
void set_uniform2i (const CL_StringRef &name, int value_a, int value_b)
 Set uniform2i. More...
 
void set_uniform3i (const CL_StringRef &name, int value_a, int value_b, int value_c)
 Set uniform2i. More...
 
void set_uniform4i (const CL_StringRef &name, int value_a, int value_b, int value_c, int value_d)
 Set uniform4i. More...
 
void set_uniformiv (const CL_StringRef &name, int size, int count, int *data)
 Set uniformiv. More...
 
void set_uniform2i (const CL_StringRef &name, CL_Vec2i vec)
 Set uniform2i. More...
 
void set_uniform3i (const CL_StringRef &name, CL_Vec3i vec)
 Set uniform3i. More...
 
void set_uniform4i (const CL_StringRef &name, CL_Vec4i vec)
 Set uniform4i. More...
 
void set_uniform2s (const CL_StringRef &name, CL_Vec2s vec)
 Set uniform2s. More...
 
void set_uniform3s (const CL_StringRef &name, CL_Vec3s vec)
 Set uniform3s. More...
 
void set_uniform4s (const CL_StringRef &name, CL_Vec4s vec)
 Set uniform4s. More...
 
void set_uniform2b (const CL_StringRef &name, CL_Vec2b vec)
 Set uniform2b. More...
 
void set_uniform3b (const CL_StringRef &name, CL_Vec3b vec)
 Set uniform3b. More...
 
void set_uniform4b (const CL_StringRef &name, CL_Vec4b vec)
 Set uniform4b. More...
 
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec2i *data)
 Set uniformiv. More...
 
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec3i *data)
 Set uniformiv. More...
 
void set_uniformiv (const CL_StringRef &name, int count, CL_Vec4i *data)
 Set uniformiv. More...
 
void set_uniform1f (const CL_StringRef &name, float value_a)
 Set uniform1f. More...
 
void set_uniform2f (const CL_StringRef &name, float value_a, float value_b)
 Set uniform2f. More...
 
void set_uniform3f (const CL_StringRef &name, float value_a, float value_b, float value_c)
 Set uniform2f. More...
 
void set_uniform4f (const CL_StringRef &name, float value_a, float value_b, float value_c, float value_d)
 Set uniform4f. More...
 
void set_uniformfv (const CL_StringRef &name, int size, int count, float *data)
 Set uniformfv. More...
 
void set_uniform2f (const CL_StringRef &name, CL_Vec2f vec)
 Set uniform2f. More...
 
void set_uniform3f (const CL_StringRef &name, CL_Vec3f vec)
 Set uniform3f. More...
 
void set_uniform4f (const CL_StringRef &name, CL_Vec4f vec)
 Set uniform4f. More...
 
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec2f *data)
 Set uniformfv. More...
 
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec3f *data)
 Set uniformfv. More...
 
void set_uniformfv (const CL_StringRef &name, int count, CL_Vec4f *data)
 Set uniformfv. More...
 
void set_uniform_matrix (const CL_StringRef &name, int size, int count, bool transpose, float *data)
 Set uniform matrices. More...
 
void set_uniform_matrix (const CL_StringRef &name, CL_Mat2f matrix)
 Set uniform matrix. More...
 
void set_uniform_matrix (const CL_StringRef &name, CL_Mat3f matrix)
 Set uniform matrix. More...
 
void set_uniform_matrix (const CL_StringRef &name, CL_Mat4f matrix)
 Set uniform matrix. More...
 
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat2f *matrix)
 Set uniform matrix. More...
 
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat3f *matrix)
 Set uniform matrix. More...
 
void set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat4f *matrix)
 Set uniform matrix. More...
 

Construction

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

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.

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 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,
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 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 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 ( 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 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,
CL_IODevice fragment_file 
)
static

Load.

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
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
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,
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_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_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  size,
int  count,
bool  transpose,
float *  data 
)

Set uniform matrices.

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,
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_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_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,
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  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_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_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  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_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: