1 #ifndef SHADER_PROGRAMS_H
2 #define SHADER_PROGRAMS_H
4 #include "envBilatGL.h"
12 * ShaderPrograms est composé de plusieurs Shaders (VertexShader et FragmentShader)
16 * 1 ou plusieurs VertexShader et 0 FragmentShader
17 * 1 ou plusieurs VertexShader et 1 ou plusieur FragmentShader
21 * 1 seule VertexShader ou FragmentShader avec une méthode main !
24 * Shaders* vertexShader=loadVertexShader();
25 * Shaders* fragmentShader=loadFragmentShader();
27 * ShaderProgam* shaderProgam=new ShaderProgram();
28 * shaderProgram->attachShader(vertexShader);
29 * shaderProgram->attachShader(fragmentShader);
32 * shaderProgram->init();
34 * shaderProgram->useProgram();
36 * shaderProgram->unUseProgram();
38 * shaderProgram->release();
40 *TODO : amélioration gestion des shaders, ne delete pas les shaders car peuvent être utilisé dans plusieurs shaderProgram ! Mettre un place système de compteur.
42 class CBI_GL ShaderPrograms
46 virtual ~ShaderPrograms();
52 void attachShader(Shaders
* shader
);
53 void removeShader(Shaders
* shader
);
54 GLuint
getProgramID() const;
56 vector
<Shaders
*> tabShaders
;