|
gKit2 light
|
Files | |
| file | program.h |
| file | texture.h |
| file | uniforms.h |
Functions | |
| GLuint | read_program (const char *filename, const char *definitions="") |
| int | release_program (const GLuint program) |
| detruit les shaders et le program. More... | |
| int | reload_program (const GLuint program, const char *filename, const char *definitions="") |
| int | program_format_errors (const GLuint program, std::string &errors) |
| renvoie les erreurs de compilation. More... | |
| int | program_print_errors (const GLuint program) |
| affiche les erreurs de compilation. More... | |
| bool | program_ready (const GLuint program) |
| renvoie vrai si le programme est pret. (pas d'erreurs de compilation des shaders, pas d'erreur de link). More... | |
| bool | program_errors (const GLuint program) |
| renvoie vrai si le programme n'est pas pret. More... | |
| GLuint | make_texture (const int unit, const Image &im, const GLenum texel_type=GL_RGBA32F) |
| GLuint | make_texture (const int unit, const ImageData &im, const GLenum texel_type=GL_RGBA) |
| GLuint | read_texture (const int unit, const char *filename, const GLenum texel_type=GL_RGBA) |
| int | miplevels (const int width, const int height) |
| renvoie le nombre de mipmap d'une image width x height. More... | |
| int | screenshot (const char *filename) |
| enregistre le contenu de la fenetre dans un fichier. doit etre de type .png / .bmp More... | |
| int | screenshot (const char *prefix, const int id) |
| enregistre le contenu de la fenetre dans un fichier numerote prefixXXX.png. id est le numero de la capture. More... | |
| int | capture (const char *prefix) |
| GLuint | make_texture (const int unit, const int width, const int height, const GLenum texel_type, const GLenum data_format=GL_RGBA, const GLenum data_type=GL_UNSIGNED_BYTE) |
| creation de textures filtrables / mipmaps More... | |
| GLuint | make_flat_texture (const int unit, const int width, const int height, const GLenum texel_type, const GLenum data_format=GL_RGBA, const GLenum data_type=GL_UNSIGNED_BYTE) |
| creation de textures non filtrables / 1 mipmap More... | |
| GLuint | make_depth_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_DEPTH_COMPONENT) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| GLuint | make_uint_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_R32UI) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| GLuint | make_float_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_R32F) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| GLuint | make_vec2_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_RG32F) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| GLuint | make_vec3_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_RGB32F) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| GLuint | make_vec4_texture (const int unit, const int width, const int height, const GLenum texel_type=GL_RGBA32F) |
| creation de textures pour stocker des donnees (autres qu'une couleur). More... | |
| void | program_uniform (const GLuint program, const char *uniform, const unsigned v) |
| affecte une valeur a un uniform du shader program. uint. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const int v) |
| affecte une valeur a un uniform du shader program. int. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const float v) |
| affecte une valeur a un uniform du shader program. float. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const vec2 &v) |
| affecte une valeur a un uniform du shader program. vec2. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const vec3 &v) |
| affecte une valeur a un uniform du shader program. vec3. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const Point &v) |
| affecte une valeur a un uniform du shader program. Point. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const Vector &v) |
| affecte une valeur a un uniform du shader program. Vector. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const vec4 &v) |
| affecte une valeur a un uniform du shader program. vec4. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const Color &c) |
| affecte une valeur a un uniform du shader program. Color. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const Transform &v) |
| affecte une valeur a un uniform du shader program. Transform. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< unsigned > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< int > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< float > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< vec2 > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< vec3 > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< vec4 > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< Color > &c) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_uniform (const GLuint program, const char *uniform, const std::vector< Transform > &v) |
| affecte un tableau de valeurs a un uniform du shader program. More... | |
| void | program_use_texture (const GLuint program, const char *uniform, const int unit, const GLuint texture, const GLuint sampler=0) |
| configure le pipeline et le shader program pour utiliser une texture, et des parametres de filtrage, eventuellement. More... | |
| GLuint read_program | ( | const char * | filename, |
| const char * | definitions = "" |
||
| ) |
cree un shader program. a detruire avec release_program( ).
charge un seul fichier, les shaders sont separes par #ifdef VERTEX_SHADER / #endif et #ifdef FRAGMENT_SHADER / #endif.
renvoie l'identifiant openGL du program et le program est selectionne (cf glUseProgram( )).
| filename | nom du fichier source. |
| definitions | chaine de caracteres pouvant comporter plusieurs lignes "#define what value\n". |
Definition at line 204 of file program.cpp.
| int release_program | ( | const GLuint | program | ) |
| int reload_program | ( | const GLuint | program, |
| const char * | filename, | ||
| const char * | definitions = "" |
||
| ) |
recharge les sources et recompile un shader program.
| program | shader program a modifier |
| filename | nom du fichier source a charger |
| definitions | cf read_program |
Definition at line 149 of file program.cpp.
| int program_format_errors | ( | const GLuint | program, |
| std::string & | errors | ||
| ) |
renvoie les erreurs de compilation.
Definition at line 366 of file program.cpp.
| int program_print_errors | ( | const GLuint | program | ) |
affiche les erreurs de compilation.
Definition at line 432 of file program.cpp.
| bool program_ready | ( | const GLuint | program | ) |
renvoie vrai si le programme est pret. (pas d'erreurs de compilation des shaders, pas d'erreur de link).
Definition at line 236 of file program.cpp.
| bool program_errors | ( | const GLuint | program | ) |
| GLuint make_texture | ( | const int | unit, |
| const Image & | im, | ||
| const GLenum | texel_type = GL_RGBA32F |
||
| ) |
cree une texture a partir d'une image im. a detruire avec glDeleteTextures( ).
| texel_type | permet de choisir la representation interne des valeurs de la texture. |
Definition at line 76 of file texture.cpp.
| GLuint make_texture | ( | const int | unit, |
| const ImageData & | im, | ||
| const GLenum | texel_type = GL_RGBA |
||
| ) |
cree une texture a partir des donnees d'une image, cf image_io.h. a detruire avec glDeleteTextures( ).
| texel_type | permet de choisir la representation interne des valeurs de la texture. |
Definition at line 103 of file texture.cpp.
| GLuint read_texture | ( | const int | unit, |
| const char * | filename, | ||
| const GLenum | texel_type = GL_RGBA |
||
| ) |
cree une texture a partir d'un fichier filename. a detruire avec glDeleteTextures( ).
| texel_type | permet de choisir la representation interne des valeurs de la texture. |
Definition at line 148 of file texture.cpp.
| int miplevels | ( | const int | width, |
| const int | height | ||
| ) |
renvoie le nombre de mipmap d'une image width x height.
Definition at line 10 of file texture.cpp.
| int screenshot | ( | const char * | filename | ) |
enregistre le contenu de la fenetre dans un fichier. doit etre de type .png / .bmp
Definition at line 188 of file texture.cpp.
| int screenshot | ( | const char * | prefix, |
| const int | id | ||
| ) |
enregistre le contenu de la fenetre dans un fichier numerote prefixXXX.png. id est le numero de la capture.
Definition at line 208 of file texture.cpp.
| int capture | ( | const char * | prefix | ) |
capture video. enregistre le contenu de la fenetre dans un fichier prefix%04d.bmp.
pour obtenir une video 30 images par secondes, compresser avec : avconv -r 30 -f image2 -i prefix%04d.bmp -c:v libx264 -crf 19 video.m4v
verifier que le codec x264 est installe : avconv -codecs | grep x264
s'il n'est pas installe : sudo apt-get install libavcodec-extra-53 ou la version actuelle : sudo apt-get install libavcodec-extra-*
exemple d'utilisation : cf shader_kit.cpp
Definition at line 215 of file texture.cpp.
| GLuint make_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type, | ||
| const GLenum | data_format = GL_RGBA, |
||
| const GLenum | data_type = GL_UNSIGNED_BYTE |
||
| ) |
| GLuint make_flat_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type, | ||
| const GLenum | data_format = GL_RGBA, |
||
| const GLenum | data_type = GL_UNSIGNED_BYTE |
||
| ) |
| GLuint make_depth_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_DEPTH_COMPONENT |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 156 of file texture.cpp.
| GLuint make_uint_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_R32UI |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 161 of file texture.cpp.
| GLuint make_float_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_R32F |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 166 of file texture.cpp.
| GLuint make_vec2_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_RG32F |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 171 of file texture.cpp.
| GLuint make_vec3_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_RGB32F |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 176 of file texture.cpp.
| GLuint make_vec4_texture | ( | const int | unit, |
| const int | width, | ||
| const int | height, | ||
| const GLenum | texel_type = GL_RGBA32F |
||
| ) |
creation de textures pour stocker des donnees (autres qu'une couleur).
Definition at line 181 of file texture.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const unsigned | v | ||
| ) |
affecte une valeur a un uniform du shader program. uint.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const int | v | ||
| ) |
affecte une valeur a un uniform du shader program. int.
Definition at line 100 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const float | v | ||
| ) |
affecte une valeur a un uniform du shader program. float.
Definition at line 111 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const vec2 & | v | ||
| ) |
affecte une valeur a un uniform du shader program. vec2.
Definition at line 122 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const vec3 & | v | ||
| ) |
affecte une valeur a un uniform du shader program. vec3.
Definition at line 133 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const Point & | v | ||
| ) |
affecte une valeur a un uniform du shader program. Point.
Definition at line 144 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const Vector & | v | ||
| ) |
affecte une valeur a un uniform du shader program. Vector.
Definition at line 155 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const vec4 & | v | ||
| ) |
affecte une valeur a un uniform du shader program. vec4.
Definition at line 166 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const Color & | c | ||
| ) |
affecte une valeur a un uniform du shader program. Color.
Definition at line 177 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const Transform & | v | ||
| ) |
affecte une valeur a un uniform du shader program. Transform.
Definition at line 188 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< unsigned > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 94 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< int > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 105 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< float > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 116 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< vec2 > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 127 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< vec3 > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 138 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< vec4 > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 171 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< Color > & | c | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 182 of file uniforms.cpp.
| void program_uniform | ( | const GLuint | program, |
| const char * | uniform, | ||
| const std::vector< Transform > & | v | ||
| ) |
affecte un tableau de valeurs a un uniform du shader program.
Definition at line 193 of file uniforms.cpp.
| void program_use_texture | ( | const GLuint | program, |
| const char * | uniform, | ||
| const int | unit, | ||
| const GLuint | texture, | ||
| const GLuint | sampler = 0 |
||
| ) |
configure le pipeline et le shader program pour utiliser une texture, et des parametres de filtrage, eventuellement.
Definition at line 198 of file uniforms.cpp.