Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1312 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Rendu sur texture : opengl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rendu sur texture : opengl

n°1576699
vincent0
Posté le 19-06-2007 à 11:44:15  profilanswer
 

Hello.
 
J'essaye de faire un rendu sur texture mais j'ai un écran tout blanc, pourquoi ? :
 
A l'initialisation de ma fenêtre, je fait ceci :

Code :
  1. glGenTextures(1, &textureID);
  2. glBindTexture (GL_TEXTURE_2D, textureID);
  3. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
  4. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);


 
Quand on redimensionne la fenêtre, je fait ceci :

Code :
  1. unsigned int *pTexture = new unsigned int[width*height*3];
  2. glBindTexture (GL_TEXTURE_2D, textureID);
  3. glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_INT, pTexture);
  4. delete [] pTexture;


 
Rendu :

Code :
  1. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
  2. glLoadIdentity();
  3. glDrawBuffer(GL_AUX0); //on dessine le triangle dans un buffer auxilliaire
  4. glReadBuffer(GL_AUX0);
  5. glBegin(GL_TRIANGLES);
  6. glColor3f(1.0, 1.0, 1.0); glVertex3f(-1.0, -1.0, -7.0);
  7. glColor3f(0.0, 0.0, 0.0); glVertex3f(1.0, -1.0, -7.0);
  8. glColor3f(0.5, 0.5, 0.5); glVertex3f(0.0, 1.0, -7.0);
  9. glEnd();
  10. glBindTexture (GL_TEXTURE_2D, textureID);
  11. glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, width, height, 0); //copie le buffer auxilliaire dans une texture
  12. glDrawBuffer(GL_BACK);
  13. glReadBuffer(GL_BACK);
  14. //On se projette en vision orthogonale (2D) et on affiche la texture
  15. glDisable(GL_DEPTH_TEST);
  16. glMatrixMode(GL_PROJECTION);
  17. glPushMatrix();
  18. glLoadIdentity();
  19. glOrtho(0, 1, 0, 1, -1, 1);
  20. glMatrixMode(GL_MODELVIEW);
  21. glPushMatrix();
  22.  glLoadIdentity();
  23.  glBegin(GL_QUADS);
  24.   glColor4f(1.0, 1.0, 1.0, 0.5);
  25.   glTexCoord2f(0.0, 0.0); glVertex2i(0, 0);
  26.   glTexCoord2f(0.0, 1.0); glVertex2i(0, 1);
  27.   glTexCoord2f(1.0, 1.0); glVertex2i(1, 1);
  28.   glTexCoord2f(1.0, 0.0); glVertex2i(1, 0);
  29.  glEnd();
  30.  glMatrixMode(GL_PROJECTION);
  31. glPopMatrix();
  32. glMatrixMode(GL_MODELVIEW);
  33. glPopMatrix();
  34. glEnable(GL_DEPTH_TEST);


 
Merci...

mood
Publicité
Posté le 19-06-2007 à 11:44:15  profilanswer
 

n°1576939
vincent0
Posté le 19-06-2007 à 17:21:04  profilanswer
 

Personne ne sais ?


Message édité par vincent0 le 19-06-2007 à 19:01:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Rendu sur texture : opengl

 

Sujets relatifs
[OpenGL] Combiner 2 scènesProbleme OpenGl
Probleme OpenGl[OpenGL] Savoir si une face est éclairé
Opengl : utiliser les vertex array avec des uv attachés aux facesOPENGL - lire les valeurs RGBA d'une texture
[OpenGL] shadow volume[Opengl] stencil buffer : comprend pas son fonctionnement
[wxWidgets et OpenGL] Problème de stack overflow 
Plus de sujets relatifs à : Rendu sur texture : opengl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR