OpenGL : problème de Flou sur les images

OpenGL : problème de Flou sur les images - C++ - Programmation

Marsh Posté le 10-12-2005 à 14:16:37    

Bonjour
 
Voila mon problème :  
Je travaille avec OpenGL et je souhaiterai afficher une image
 
http://img208.imageshack.us/img208/5665/loading6ja.jpg
 
Cette image est chargée avec les paramètres suivants :  
 

Code :
  1. gluBuild2DMipmaps(GL_TEXTURE_2D, pImage->channels, pImage->sizeX, pImage->sizeY, textureType, GL_UNSIGNED_BYTE, pImage->data);
  2. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
  3. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);
  4. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, 0x812F);
  5. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, 0x812F);


 
Mais à l’affichage, en dessinant une face de la même taille que celle-ci, OpenGL lui effectue une sorte de flou.
 
http://img208.imageshack.us/img208/9537/loading28cq.jpg
 
Je ne vois vraiment pas comment faire pour avoir un affichage normale …
 
Donc si quelqu’un sait comment résoudre ce problème, j’aimerai vraiment qu’il m’explique
 
Merci d’avance.

Reply

Marsh Posté le 10-12-2005 à 14:16:37   

Reply

Marsh Posté le 10-12-2005 à 14:21:43    

Salut,
C'est tes paramètres pour glTexParameteri qui sont incorrects.
Plus d'infos ici : http://www.mevis.de/opengl/glTexParameter.html

Reply

Marsh Posté le 10-12-2005 à 14:32:36    

IrmatDen a écrit :

Salut,
C'est tes paramètres pour glTexParameteri qui sont incorrects.
Plus d'infos ici : http://www.mevis.de/opengl/glTexParameter.html


 
C'est vrais ... merci  
Mais celà ne règle mon pb :  
Même avec les paramètres  
 

Code :
  1. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  2. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);


ou
 

Code :
  1. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
  2. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);


 
Le problème reste le même ...  :??:  
 

Reply

Marsh Posté le 10-12-2005 à 14:49:40    

Et si tu ne construis pas les mipmaps correspondantes?

Reply

Marsh Posté le 10-12-2005 à 18:57:02    

mmm ...
 
Suivant ton conseil j'ai essayé de ne pas laisser glu me générer des mipmap automatiquement.
Mais un autre problème est survenu.
Quand je remplace la ligne  
 

Code :
  1. gluBuild2DMipmaps(GL_TEXTURE_2D, pImage->channels, pImage->sizeX,pImage->sizeY, textureType, GL_UNSIGNED_BYTE, pImage->data);


 
Par  
 

Code :
  1. glTexImage2D (GL_TEXTURE_2D, 0, pImage->channels, pImage->sizeX,pImage->sizeY, 0, textureType, GL_UNSIGNED_BYTE, pImage->data);


 
OpenGL ne me charge plus les textures.
Ne saurai tu pas comment utiliser la fonction glTexImage2D ??? (Je ne l'ai jamais utilisé directement).
 

Reply

Marsh Posté le 10-12-2005 à 19:01:54    

Si tu as une surface de la meme taille (screen-space) que ton image de départ, laisse tomber les mipmaps et surtout utilise le point sampling.
Pour ta deuxieme question, si tu spécifies l'utilisation du mipmaping (via un texparam (GL_*_MIPMAP_*) ), il faut impérativement que ta chaine de mip maps soit complete. Sinon la texture (au sens OpenGL) est invalide.


Message édité par retrox le 10-12-2005 à 19:02:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed