Après m'être mis un peu à GU (sur PSP), je me suis décidé à tester OpenGL (qui est assez similaire, d'ailleurs) sur PC.
Mais voilà je n'arrive pas à texturer mes triangles. J'ai pourtant activé GL_TEXTURE_2D et tout, mais pas moyen: la couleur des vertices est toujours utilisée à la place. Est-ce que j'aurais loupé quelque chose?
1) A l'initialisation, je mets un pixelFormat comme toujours, et je crée un contexte OpenGL.
2) Avant de commencer à dessiner, je paramètre mon environnement pour de la 2D.
3) Ensuite, je fais un truc du style:
unsigned long testImage[32][32]; int x, y; for (y=0;y<32;y++) for (x=0;x<32;x++) testImage[y][x] = (x+y)<<2; glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glTexImage2D(GL_TEXTURE_2D, 0, 4, 32, 32, 0, GL_RGBA, GL_UNSIGNED_BYTE, testImage); glEnable(GL_TEXTURE_2D); glBegin(GL_QUADS); glTexCoord2f(0.0, 0.0); glVertex2i(0, 0); glTexCoord2f(0.0, 1.0); glVertex2i(0, 32); glTexCoord2f(1.0, 1.0); glVertex2i(32, 32); glTexCoord2f(1.0, 0.0); glVertex2i(32, 0); glEnd(); // glDrawPixels(32,32, GL_RGBA, GL_UNSIGNED_BYTE, testImage); glFlush(); SwapBuffers(wglGetCurrentDC());
Note: le glDrawPixels commenté fonctionne et dessine bien mon carré (sauf qu'il a la tête à l'envers, mais ça doit être mon ortho2D qui est faux). J'ai essayé des milliers de possibilités, copié des exemples, etc. mais rien n'a fonctionné. Je pense qu'il manque quelque chose pour pouvoir utiliser directement ces textures...
Merci d'avance ^^