Bonjour à tous.
Après avoir bien cherché sur internet divers tutoriaux, aides, et manuels, je n'ai toujours pas compris comment a partir d'un écran, faire une copie de cet écran dans une texture pour ensuite réappliquer cette texture sur un polygone par exemple.
Je n'arrive pas a trouver les erreurs de ce bout de code :
glEnable(GL_TEXTURE_2D);
GLuint RenderedTex; // Je déclare ma texture
glGenTextures(1,&RenderedTex); // Je la définie..
glBindTexture(GL_TEXTURE_2D,RenderedTex); //.. Et la sélectionne
// Ici je dessine le triangle que je veux "copier"
glBegin(GL_TRIANGLES);
glColor3ub(255,0,0);
glVertex2d(-0.5,-0.5);
glColor3ub(0,255,0);
glVertex2d(0,0.5);
glColor3ub(0,0,255);
glVertex2d(0.5,-0.5);
glEnd();
glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGB,0,0,
RESOLUTION_LARGEUR,RESOLUTION_HAUTEUR,0); //Ici je fais la copie de l'écran tout entier dans la texture active, soit RendererTexture
// Et là je plaque la texture sur un quad...
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(-0.5, -0.5f) ;
glTexCoord2f(1, 0); glVertex2f(0.5, -0.5f) ;
glTexCoord2f(1, 1); glVertex2f(0.5, 0.5f) ;
glTexCoord2f(0, 1); glVertex2f(-0.5, 0.5f) ;
glEnd();
Le problème est que ce qui est affiché est le quad, mais avec la couleur bleu (la dernière sélectionnée)... Hors j'aimerai avoir le triangle déssiné sur le quad..
Merci de m'éclairer !