il faut que tu utilises d´abord :
glGenTextures
pour récupérer un numéro de texture DISPONIBLE
ensuite tu bindes sur ce numéro la pour la selectionner
ensuite tu crees ta texture avec glTexImage2D
ensuite tu peux ( pas obligé) utiliser glTexParameteri pour les filtrages en cas de zoom
pour faire un test, ton code :
glBindTexture(GL_TEXTURE_2D, id_tex_tile);//id_tex_tile -> int renvoyer par la fonction load_image()
glEnable(GL_TEXTURE_2D);
glColor3f(1, 1, 1);
glBegin(GL_QUADS); / / Square
glTexCoord2f(0, 0); / / V must be inverted, do not know why
glVertex2f(x,y);
glTexCoord2f(0,1);
glVertex2f(x+w,y);
glTexCoord2f(1,1);
glVertex2f(x+w,y+h);
glTexCoord2f(1,0);
glVertex2f(x,y+h);
glEnd();
est correct, id_tex_tile est le numéro renvoyé par glgen.
pour la couleur, j´ai modifié : met du BLANC, car sinon, ta texture va se comporter comme si tu mettais un papier rouge transparent devant.
controle au niveau de glTexImage2D
comme tu vois, elle ne revoie rien, cependant, elle charge un code d´erreur en mémoire, que tu tu peux récupérer avec :
glGetError
met le glGetError juste apres ton glTexImage2D , puis regarde le nombre qu´il renvoie.
pour savoir a quel enum il correspond, ouvre gl.h dans ton repertoire include, et recherche dedans les codes ( c´est un #define)
si ce code est différent de 0, c´est que l´erreur vient de la.
( si tu as du mal a savoir quelle erreur c´est, envoie moi sur le forum le code d´erreur, je te dirai ce que c´est)