gKitGL
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
gk::GLShaderProgram Class Reference

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

#include <TPShaderProgram.h>

Inheritance diagram for gk::GLShaderProgram:
gk::GLResource

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.
GLShaderObjectshader (const unsigned int type)
 renvoie un shader attache au shader program, cf gk::GLShaderObject::VERTEX, etc.
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.
int clear ()
 reinitialise l'etat du shader program.
int uniformCount () const
 renvoie le nombre d'uniforms.
const char * uniformName (const ProgramUniform &uniform) const
ProgramUniform uniform (const char *name) const
 renvoie l'identifiant d'un uniform du shader program.
int samplerCount () const
 renvoie le nombre de samplers.
const char * samplerName (const ProgramSampler &sampler) const
ProgramSampler sampler (const char *name) const
 renvoie l'identifiant d'un sampler du shader program.
ProgramInterface interface (const char *name) const
 renvoie l'identifiant d'un uniform block 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.
const char * attributeName (const ProgramAttribute &attribute) const
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.
GLuint name () const
 renvoie l'identifiant de l'objet openGL.

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

GLShaderObjectm_shaders [GLShaderObject::SHADERTYPE_LAST]
std::vector< parameter > m_feedbacks
std::vector< parameter > m_attributes
std::vector< parameter > m_uniforms
std::vector< parameter > m_samplers
int m_attribute_count
int m_uniform_count
int m_sampler_count
int m_feedback_count
bool m_is_linked
bool m_is_validated
GLuint m_name

Detailed Description

representation d'un shader program openGL.


Member Function Documentation

(re-)linke le shader program.

Todo:
calculer le buffer layout des feedbacks

References clear(), and gk::GLResource::name().

Referenced by make().

ProgramDrawbuffer gk::GLShaderProgram::drawbuffer ( const char *  name) const

renvoie le draw buffer d'un varying du fragment shader.

Todo:
size et type d'un varying ...

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends