OGLplus (0.45.0) a C++ wrapper for OpenGL

oglplus::ProgramPipelineOps Class Reference

ProgramPipeline operations wrapper class. More...

#include </home/chochlik/devel/oglplus/include/oglplus/program_pipeline.hpp>

Inheritance diagram for oglplus::ProgramPipelineOps:

Classes

struct  Properties
 Types related to ProgramPipeline. More...
 

Public Member Functions

void Bind (void) const
 Bind this program pipeline. More...
 
aux::ProgPLUseStages UseStages (const ProgramOps &program) const
 Specifies program stages by calling functions of the returned object. More...
 
void UseStages (Bitfield< ProgramPipelineStage > stages, const ProgramOps &program) const
 Use the specified stages of the program. More...
 
String GetInfoLog (void) const
 Returns the validation process output. More...
 
bool IsValid (void) const
 Returns true if the pipeline is validated, false otherwise. More...
 
void Validate (void) const
 Validates this program pipeline. More...
 
void ActiveShaderProgram (const ProgramOps &program) const
 Make the program active for this program pipeline. More...
 
Managed< ProgramOpsActiveShaderProgram (void) const
 Returns the current active shader program. More...
 
bool HasShader (ShaderType shader_type) const
 Returns true if this pipeline contains a shader of a particular type. More...
 
Managed< ProgramOpsShaderProgram (ShaderType shader_type) const
 Returns the program from which the shader_type is used. More...
 

Static Public Member Functions

static void Unbind (void)
 Unbinds the current program pipeline object (if any) More...
 

Detailed Description

ProgramPipeline operations wrapper class.

This class implements OpenGL program pipeline operations.

Note
Do not use this class directly, use ProgramPipeline instead.
See Also
ProgramPipeline

Requires OpenGL 4.1 or the GL_ARB_separate_shader_objects extension.

Related OpenGL symbols:
glGenProgramPipelines glDeleteProgramPipelines glIsProgramPipeline

Member Function Documentation

void oglplus::ProgramPipelineOps::ActiveShaderProgram ( const ProgramOps program) const

Make the program active for this program pipeline.

Related OpenGL symbols:
glActiveShaderProgram

References ActiveShaderProgram(), and OGLPLUS_CHECK.

Managed<ProgramOps> oglplus::ProgramPipelineOps::ActiveShaderProgram ( void  ) const

Returns the current active shader program.

Related OpenGL symbols:
glGetProgramPipeline GL_ACTIVE_PROGRAM

Referenced by ActiveShaderProgram().

void oglplus::ProgramPipelineOps::Bind ( void  ) const

Bind this program pipeline.

Related OpenGL symbols:
glBindProgramPipeline
String oglplus::ProgramPipelineOps::GetInfoLog ( void  ) const

Returns the validation process output.

Related OpenGL symbols:
glGetProgramPipeline glGetProgramPipelineInfoLog
bool oglplus::ProgramPipelineOps::HasShader ( ShaderType  shader_type) const

Returns true if this pipeline contains a shader of a particular type.

Related OpenGL symbols:
glGetProgramPipeline
bool oglplus::ProgramPipelineOps::IsValid ( void  ) const

Returns true if the pipeline is validated, false otherwise.

See Also
Validate
Related OpenGL symbols:
glGetProgramPipeline

Referenced by Validate().

Managed<ProgramOps> oglplus::ProgramPipelineOps::ShaderProgram ( ShaderType  shader_type) const

Returns the program from which the shader_type is used.

Related OpenGL symbols:
glGetProgramPipeline
static void oglplus::ProgramPipelineOps::Unbind ( void  )
static

Unbinds the current program pipeline object (if any)

Related OpenGL symbols:
glBindProgramPipeline

References OGLPLUS_VERIFY.

aux::ProgPLUseStages oglplus::ProgramPipelineOps::UseStages ( const ProgramOps program) const

Specifies program stages by calling functions of the returned object.

This function returns an object that allows to specify which stages of program should by used when this pipeline is active by calling the Vertex(), TessControl(), TessEvaluation(), Geometry(), Fragment() and All() member functions of the object returned by UseStages.

example:

Program prog;
...
pp.UseStages(prog).Vertex();
pp.UseStages(prog).Vertex().Geometry();
pp.UseStages(prog).Vertex().TessControl().TessEvaluation().Geometry();
pp.UseStages(prog).Vertex().Geometry().Fragment();
pp.UseStages(prog).Geometry();
pp.UseStages(prog).All();
Exceptions
Error
Related OpenGL symbols:
glUseProgramStages
void oglplus::ProgramPipelineOps::UseStages ( Bitfield< ProgramPipelineStage stages,
const ProgramOps program 
) const

Use the specified stages of the program.

Related OpenGL symbols:
glUseProgramStages

References OGLPLUS_CHECK.

void oglplus::ProgramPipelineOps::Validate ( void  ) const

Validates this program pipeline.

Exceptions
ErrorValidationError
See Also
Link
Related OpenGL symbols:
glValidateProgramPipeline

References IsValid(), OGLPLUS_IS_ERROR, and OGLPLUS_VERIFY.


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

Copyright © 2010-2014 Matúš Chochlík, University of Žilina, Žilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Wed Apr 30 2014 by Doxygen (version 1.8.4).