ork::Program Class Reference
[render]

A GPU program. More...

#include <Program.h>

Inheritance diagram for ork::Program:
ork::Object

List of all members.

Public Member Functions

 Program (const vector< ptr< Module > > &modules)
 Creates a new program.
 Program (ptr< Module > module)
 Creates a new program.
virtual ~Program ()
 Deletes this program.
virtual int getId () const
 Returns the id of this program.
int getModuleCount () const
 Returns the number of Module objects in this program.
ptr< ModulegetModule (int index) const
 Returns the Module of this program whose index is given.
ptr< UniformgetUniform (const string &name)
 Returns the uniform of this program whose name is given.
ptr< Uniform1fgetUniform1f (const string &name)
 Returns the uniform1f of this program whose name is given.
ptr< Uniform1dgetUniform1d (const string &name)
 Returns the uniform1d of this program whose name is given.
ptr< Uniform1igetUniform1i (const string &name)
 Returns the uniform1i of this program whose name is given.
ptr< Uniform1uigetUniform1ui (const string &name)
 Returns the uniform1ui of this program whose name is given.
ptr< Uniform1bgetUniform1b (const string &name)
 Returns the uniform1b of this program whose name is given.
ptr< Uniform2fgetUniform2f (const string &name)
 Returns the uniform2f of this program whose name is given.
ptr< Uniform2dgetUniform2d (const string &name)
 Returns the uniform2d of this program whose name is given.
ptr< Uniform2igetUniform2i (const string &name)
 Returns the uniform2i of this program whose name is given.
ptr< Uniform2uigetUniform2ui (const string &name)
 Returns the uniform2ui of this program whose name is given.
ptr< Uniform2bgetUniform2b (const string &name)
 Returns the uniform2b of this program whose name is given.
ptr< Uniform3fgetUniform3f (const string &name)
 Returns the uniform3f of this program whose name is given.
ptr< Uniform3dgetUniform3d (const string &name)
 Returns the uniform3d of this program whose name is given.
ptr< Uniform3igetUniform3i (const string &name)
 Returns the uniform3i of this program whose name is given.
ptr< Uniform3uigetUniform3ui (const string &name)
 Returns the uniform3ui of this program whose name is given.
ptr< Uniform3bgetUniform3b (const string &name)
 Returns the uniform3b of this program whose name is given.
ptr< Uniform4fgetUniform4f (const string &name)
 Returns the uniform4f of this program whose name is given.
ptr< Uniform4dgetUniform4d (const string &name)
 Returns the uniform4d of this program whose name is given.
ptr< Uniform4igetUniform4i (const string &name)
 Returns the uniform4i of this program whose name is given.
ptr< Uniform4uigetUniform4ui (const string &name)
 Returns the uniform4ui of this program whose name is given.
ptr< Uniform4bgetUniform4b (const string &name)
 Returns the uniform4b of this program whose name is given.
ptr< UniformMatrix2fgetUniformMatrix2f (const string &name)
 Returns the uniformMatrix2f of this program whose name is given.
ptr< UniformMatrix2dgetUniformMatrix2d (const string &name)
 Returns the uniformMatrix2d of this program whose name is given.
ptr< UniformMatrix3fgetUniformMatrix3f (const string &name)
 Returns the uniformMatrix3f of this program whose name is given.
ptr< UniformMatrix3dgetUniformMatrix3d (const string &name)
 Returns the uniformMatrix3d of this program whose name is given.
ptr< UniformMatrix4fgetUniformMatrix4f (const string &name)
 Returns the uniformMatrix4f of this program whose name is given.
ptr< UniformMatrix4dgetUniformMatrix4d (const string &name)
 Returns the uniformMatrix4d of this program whose name is given.
ptr< UniformMatrix2x3fgetUniformMatrix2x3f (const string &name)
 Returns the uniformMatrix2x3f of this program whose name is given.
ptr< UniformMatrix2x3dgetUniformMatrix2x3d (const string &name)
 Returns the uniformMatrix2x3d of this program whose name is given.
ptr< UniformMatrix2x4fgetUniformMatrix2x4f (const string &name)
 Returns the uniformMatrix2x4f of this program whose name is given.
ptr< UniformMatrix2x4dgetUniformMatrix2x4d (const string &name)
 Returns the uniformMatrix2x4d of this program whose name is given.
ptr< UniformMatrix3x2fgetUniformMatrix3x2f (const string &name)
 Returns the uniformMatrix3x2f of this program whose name is given.
ptr< UniformMatrix3x2dgetUniformMatrix3x2d (const string &name)
 Returns the uniformMatrix3x2d of this program whose name is given.
ptr< UniformMatrix3x4fgetUniformMatrix3x4f (const string &name)
 Returns the uniformMatrix3x4f of this program whose name is given.
ptr< UniformMatrix3x4dgetUniformMatrix3x4d (const string &name)
 Returns the uniformMatrix3x4d of this program whose name is given.
ptr< UniformMatrix4x2fgetUniformMatrix4x2f (const string &name)
 Returns the uniformMatrix4x2f of this program whose name is given.
ptr< UniformMatrix4x2dgetUniformMatrix4x2d (const string &name)
 Returns the uniformMatrix4x2d of this program whose name is given.
ptr< UniformMatrix4x3fgetUniformMatrix4x3f (const string &name)
 Returns the uniformMatrix4x3f of this program whose name is given.
ptr< UniformMatrix4x3dgetUniformMatrix4x3d (const string &name)
 Returns the uniformMatrix4x2d of this program whose name is given.
ptr< UniformSamplergetUniformSampler (const string &name)
 Returns the uniform sampler of this program whose name is given.
ptr< UniformBlockgetUniformBlock (const string &name)
 Returns the uniform block of this program whose name is given.

Protected Member Functions

 Program ()
 Creates an unitialized program.
void init (const vector< ptr< Module > > &modules)
 Initializes this program.
virtual void swap (ptr< Program > t)
 Swaps this program with the given one.

Protected Attributes

vector< ptr< Module > > modules
 The modules of this program.

Detailed Description

A GPU program.

A GPU program can define vertex, tessellation, geometry and fragment programs. It is made of one or more Module, themselves made of one or more GLSL shaders.


Constructor & Destructor Documentation

ork::Program::Program ( const vector< ptr< Module > > &  modules  ) 

Creates a new program.

Parameters:
modules the modules that will compose this program.
ork::Program::Program ( ptr< Module module  ) 

Creates a new program.

Parameters:
module the single module that will compose this program.
virtual ork::Program::~Program (  )  [virtual]

Deletes this program.

ork::Program::Program (  )  [protected]

Creates an unitialized program.


Member Function Documentation

virtual int ork::Program::getId (  )  const [virtual]

Returns the id of this program.

ptr<Module> ork::Program::getModule ( int  index  )  const

Returns the Module of this program whose index is given.

int ork::Program::getModuleCount (  )  const

Returns the number of Module objects in this program.

ptr<Uniform> ork::Program::getUniform ( const string &  name  ) 

Returns the uniform of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform1b > ork::Program::getUniform1b ( const string &  name  )  [inline]

Returns the uniform1b of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform1d > ork::Program::getUniform1d ( const string &  name  )  [inline]

Returns the uniform1d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform1f > ork::Program::getUniform1f ( const string &  name  )  [inline]

Returns the uniform1f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform1i > ork::Program::getUniform1i ( const string &  name  )  [inline]

Returns the uniform1i of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform1ui > ork::Program::getUniform1ui ( const string &  name  )  [inline]

Returns the uniform1ui of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform2b > ork::Program::getUniform2b ( const string &  name  )  [inline]

Returns the uniform2b of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform2d > ork::Program::getUniform2d ( const string &  name  )  [inline]

Returns the uniform2d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform2f > ork::Program::getUniform2f ( const string &  name  )  [inline]

Returns the uniform2f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform2i > ork::Program::getUniform2i ( const string &  name  )  [inline]

Returns the uniform2i of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform2ui > ork::Program::getUniform2ui ( const string &  name  )  [inline]

Returns the uniform2ui of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform3b > ork::Program::getUniform3b ( const string &  name  )  [inline]

Returns the uniform3b of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform3d > ork::Program::getUniform3d ( const string &  name  )  [inline]

Returns the uniform3d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform3f > ork::Program::getUniform3f ( const string &  name  )  [inline]

Returns the uniform3f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform3i > ork::Program::getUniform3i ( const string &  name  )  [inline]

Returns the uniform3i of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform3ui > ork::Program::getUniform3ui ( const string &  name  )  [inline]

Returns the uniform3ui of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform4b > ork::Program::getUniform4b ( const string &  name  )  [inline]

Returns the uniform4b of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform4d > ork::Program::getUniform4d ( const string &  name  )  [inline]

Returns the uniform4d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform4f > ork::Program::getUniform4f ( const string &  name  )  [inline]

Returns the uniform4f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform4i > ork::Program::getUniform4i ( const string &  name  )  [inline]

Returns the uniform4i of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< Uniform4ui > ork::Program::getUniform4ui ( const string &  name  )  [inline]

Returns the uniform4ui of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr<UniformBlock> ork::Program::getUniformBlock ( const string &  name  ) 

Returns the uniform block of this program whose name is given.

Parameters:
name a GLSL uniform block name.
Returns:
the uniform block of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2d > ork::Program::getUniformMatrix2d ( const string &  name  )  [inline]

Returns the uniformMatrix2d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2f > ork::Program::getUniformMatrix2f ( const string &  name  )  [inline]

Returns the uniformMatrix2f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2x3d > ork::Program::getUniformMatrix2x3d ( const string &  name  )  [inline]

Returns the uniformMatrix2x3d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2x3f > ork::Program::getUniformMatrix2x3f ( const string &  name  )  [inline]

Returns the uniformMatrix2x3f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2x4d > ork::Program::getUniformMatrix2x4d ( const string &  name  )  [inline]

Returns the uniformMatrix2x4d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix2x4f > ork::Program::getUniformMatrix2x4f ( const string &  name  )  [inline]

Returns the uniformMatrix2x4f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3d > ork::Program::getUniformMatrix3d ( const string &  name  )  [inline]

Returns the uniformMatrix3d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3f > ork::Program::getUniformMatrix3f ( const string &  name  )  [inline]

Returns the uniformMatrix3f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3x2d > ork::Program::getUniformMatrix3x2d ( const string &  name  )  [inline]

Returns the uniformMatrix3x2d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3x2f > ork::Program::getUniformMatrix3x2f ( const string &  name  )  [inline]

Returns the uniformMatrix3x2f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3x4d > ork::Program::getUniformMatrix3x4d ( const string &  name  )  [inline]

Returns the uniformMatrix3x4d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix3x4f > ork::Program::getUniformMatrix3x4f ( const string &  name  )  [inline]

Returns the uniformMatrix3x4f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4d > ork::Program::getUniformMatrix4d ( const string &  name  )  [inline]

Returns the uniformMatrix4d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4f > ork::Program::getUniformMatrix4f ( const string &  name  )  [inline]

Returns the uniformMatrix4f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4x2d > ork::Program::getUniformMatrix4x2d ( const string &  name  )  [inline]

Returns the uniformMatrix4x2d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4x2f > ork::Program::getUniformMatrix4x2f ( const string &  name  )  [inline]

Returns the uniformMatrix4x2f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4x3d > ork::Program::getUniformMatrix4x3d ( const string &  name  )  [inline]

Returns the uniformMatrix4x2d of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformMatrix4x3f > ork::Program::getUniformMatrix4x3f ( const string &  name  )  [inline]

Returns the uniformMatrix4x3f of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
ptr< UniformSampler > ork::Program::getUniformSampler ( const string &  name  )  [inline]

Returns the uniform sampler of this program whose name is given.

Parameters:
name a GLSL uniform name.
Returns:
the uniform of this program whose name is given, or NULL if there is no such uniform.
void ork::Program::init ( const vector< ptr< Module > > &  modules  )  [protected]

Initializes this program.

Parameters:
modules the modules that will compose this program.
virtual void ork::Program::swap ( ptr< Program t  )  [protected, virtual]

Swaps this program with the given one.


Member Data Documentation

vector< ptr<Module> > ork::Program::modules [protected]

The modules of this program.


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