dessine l'objet avec l'ensemble des parametres definis.
159 bool use_texcoord= m_use_texture && m_texture > 0 && mesh.has_texcoord();
160 bool use_normal= mesh.has_normal();
161 bool use_color= mesh.has_color();
167 if(m_debug_texcoords)
169 program= create_debug_texcoords_program(mesh.
primitives(), use_texcoord, use_normal, use_color, m_use_light, m_use_alpha_test);
171 m_use_texture=
false;
172 m_use_alpha_test=
false;
177 glUseProgram(program);
182 mesh.
draw(program,
true, use_texcoord,
false,
false,
false);
188 glUseProgram(program);
199 if(use_texcoord && m_texture > 0)
212 mesh.
draw(program,
true, use_texcoord, use_normal, use_color,
false);
217 program= create_debug_normals_program(mesh.
primitives(), use_texcoord, use_normal, use_color, m_use_light, m_use_alpha_test);
219 m_use_texture=
false;
220 m_use_alpha_test=
false;
225 static float scale= 1;
233 glUseProgram(program);
238 mesh.
draw(program,
true,
false, use_normal,
false,
false);
GLuint create_program(const GLenum primitives, const bool use_texcoord, const bool use_normal, const bool use_color, const bool use_light, const bool use_alpha_test)
Color default_color() const
renvoie la couleur par defaut du mesh, utilisee si les sommets n'ont pas de couleur associee.
void draw(const GLuint program, const bool use_position, const bool use_texcoord, const bool use_normal, const bool use_color, const bool use_material_index)
dessine l'objet avec un shader program.
GLenum primitives() const
renvoie le type de primitives.
int key_state(const SDL_Keycode key)
renvoie l'etat d'une touche du clavier. cf la doc SDL2 pour les codes.
void program_uniform(const GLuint program, const char *uniform, const std::vector< unsigned > &v)
affecte un tableau de valeurs a un uniform du shader program.
void program_use_texture(const GLuint program, const char *uniform, const int unit, const GLuint texture, const GLuint sampler)
configure le pipeline et le shader program pour utiliser une texture, et des parametres de filtrage,...