OGLplus (0.52.0) a C++ wrapper for OpenGL

oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline > Class Template Reference

Class wrapping program pipeline functions (with direct state access) More...

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

Inheritance diagram for oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >:
Collaboration diagram for oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >:

Classes

struct  Properties
 Types related to ProgramPipeline. More...
 

Public Member Functions

ProgPLUseStages UseStages (ProgramName program) const
 Specifies program stages by calling functions of the returned object. More...
 
void UseStages (Bitfield< ProgramPipelineStage > stages, ProgramName 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 (ProgramName program) const
 Make the program active for this program pipeline. More...
 
ProgramName ActiveShaderProgram (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...
 
ProgramName ShaderProgram (ShaderType shader_type) const
 Returns the program from which the shader_type is used. More...
 
void Bind (void) const
 Binds this program pipeline object. More...
 

Static Public Member Functions

static void Bind (ProgramPipelineName pipeline)
 Binds the specified vertex_array object. More...
 
static ProgramPipelineName Binding (void)
 Returns the currently bound ProgramPipeline. More...
 

Detailed Description

template<>
class oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >

Class wrapping program pipeline functions (with direct state access)

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

Member Function Documentation

void oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::ActiveShaderProgram ( ProgramName  program) const

Make the program active for this program pipeline.

Related OpenGL symbols:
glActiveShaderProgram

References oglplus::GetGLName().

ProgramName oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::ActiveShaderProgram ( void  ) const

Returns the current active shader program.

Related OpenGL symbols:
glGetProgramPipeline GL_ACTIVE_PROGRAM
static void oglplus::ObjBindingOps< tag::ProgramPipeline >::Bind ( ProgramPipelineName  pipeline)
staticinherited

Binds the specified vertex_array object.

Related OpenGL symbols:
glBindProgramPipeline

References oglplus::GetGLName().

void oglplus::ObjCommonOps< tag::ProgramPipeline >::Bind ( void  ) const
inherited

Binds this program pipeline object.

Related OpenGL symbols:
glBindProgramPipeline
static ProgramPipelineName oglplus::ObjBindingOps< tag::ProgramPipeline >::Binding ( void  )
staticinherited

Returns the currently bound ProgramPipeline.

Related OpenGL symbols:
glGetIntegerv
String oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::GetInfoLog ( void  ) const

Returns the validation process output.

Related OpenGL symbols:
glGetProgramPipeline glGetProgramPipelineInfoLog
bool oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::HasShader ( ShaderType  shader_type) const

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

Related OpenGL symbols:
glGetProgramPipeline
bool oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::IsValid ( void  ) const

Returns true if the pipeline is validated, false otherwise.

See Also
Validate
Related OpenGL symbols:
glGetProgramPipeline
ProgramName oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::ShaderProgram ( ShaderType  shader_type) const

Returns the program from which the shader_type is used.

Related OpenGL symbols:
glGetProgramPipeline
ProgPLUseStages oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::UseStages ( ProgramName  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

References oglplus::GetGLName().

void oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::UseStages ( Bitfield< ProgramPipelineStage stages,
ProgramName  program 
) const

Use the specified stages of the program.

Related OpenGL symbols:
glUseProgramStages

References oglplus::GetGLName().

void oglplus::ObjectOps< tag::DirectState, tag::ProgramPipeline >::Validate ( void  ) const

Validates this program pipeline.

Exceptions
ErrorValidationError
See Also
Link
Related OpenGL symbols:
glValidateProgramPipeline

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 Mon Sep 22 2014 by Doxygen (version 1.8.6).