gk::GLShaderProgram Class Reference

representation d'un shader program openGL. More...

#include <TPShaderProgram.h>

Inheritance diagram for gk::GLShaderProgram:
gk::GLResource gk::GL2ShaderProgram gk::GL3ShaderProgram gk::GL4ShaderProgram

List of all members.

Classes

struct  parameter

Public Member Functions

 GLShaderProgram ()
 constructeur par defaut.
virtual ~GLShaderProgram ()
 desctructeur.
int attachShader (GLShaderObject *shader)
 ajoute un shader object au shader program.
int link ()
 (re-)linke le shader program.
int validate ()
 valide la configuration du shader program.
int createGLResource ()
 construit le shader program. creation de l'objet openGL.
int releaseGLResource ()
 detruit l'objet openGL.
GLint name () const
 renvoie l'identifiant opengl de la ressource.
int uniformCount () const
 renvoie le nombre d'uniforms.
ProgramUniform uniform (const char *name) const
 renvoie l'identifiant d'un uniform du shader program.
int samplerCount () const
 renvoie le nombre de samplers.
ProgramSampler sampler (const char *name) const
 renvoie l'identifiant d'un sampler du shader program.
int attributeCount () const
 renvoie le nombre d'attributs.
ProgramAttribute attribute (const char *name) const
 renvoie l'identifiant d'un attribut du shader program.
int drawbufferCount () const
 renvoie le nombre de drawbuffer (varying out du fragment shader).
ProgramDrawbuffer drawbuffer (const char *name) const
 renvoie le draw buffer d'un varying du fragment shader.
int feedbackCount () const
 renvoie le nombre de feedbacks
ProgramFeedback feedback (const char *name) const
 renvoie l'identifiant du buffer d'un varying utilise par le transform feedback.

Static Public Member Functions

static bool is_sampler (const GLenum type)
static bool is_integer (const GLenum type)

Protected Member Functions

int make ()
 construit le shader program.

Protected Attributes

std::vector< GLShaderObject * > m_shaders
std::vector< parameter > m_feedbacks
std::vector< parameter > m_attributes
std::vector< parameter > m_samplers
GLuint m_name
int m_attribute_count
int m_uniform_count
int m_sampler_count
int m_feedback_count
bool m_is_linked
bool m_is_validated

Detailed Description

representation d'un shader program openGL.


Member Function Documentation

int gk::GLShaderProgram::link (  ) 

(re-)linke le shader program.

Todo:
definir attribute, varyings et samplers avant la compilation (re-)linke le shader program.

Todo:
calculer le buffer layout des feedbacks

References name().

Referenced by make().

int gk::GLShaderProgram::drawbufferCount (  )  const [inline]

renvoie le nombre de drawbuffer (varying out du fragment shader).

Todo:


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Friends
Generated on Thu Sep 22 16:34:00 2011 for gKitGL by  doxygen 1.6.3