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.