[OpenGL] vilain aliasing

vilain aliasing [OpenGL] - C++ - Programmation

Marsh Posté le 16-04-2003 à 14:42:49    

Bonjour,
 
J'utilise OpenGL, et je suis loin d'être spécialiste, ce qui me pose un certain nombre de problèmes...
 
Actuellement, mon problème est le suivant : j'initialise l'affichage avec

Code :
  1. glClearColor(1., 1., 1., 0.5);
  2.     glEnable( GL_DEPTH_TEST );
  3.     glEnable( GL_TEXTURE_2D );
  4.     glDepthFunc(GL_LEQUAL);
  5.     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
  6.     // --- L'objet ------
  7.     // génération des textures
  8.     glGenTextures(1, &texName[0]);   
  9.     try {
  10. im.read("./images/paris.png" );
  11. im.flip();
  12. glBindTexture(GL_TEXTURE_2D, texName[0]);
  13. gluBuild2DMipmaps(GL_TEXTURE_2D, 3, im.columns(), im.rows(),
  14.     GL_BGRA, GL_UNSIGNED_SHORT,
  15.     im.getPixels(0, 0, im.columns(), im.rows()));
  16.      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);   
  17. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
  18. glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  19.     }
  20.     catch (exception &e) {
  21. cerr << e.what() << endl;
  22. throw;
  23.     }
  24.     glShadeModel(GL_SMOOTH);
  25.     // initialisation de l'objet
  26.     glNewList(ID_OBJ, GL_COMPILE);
  27.     // ... description     
  28.     glEndList();

 
 
Par la suite, mon affichage est assez sommaire

Code :
  1. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
  2. glViewport(0, 0, im_width, im_height);
  3. glMatrixMode(GL_PROJECTION);
  4.         glLoadIdentity();
  5.  glFrustum(im_width / 2. * 15e-6,
  6.            -((double) im_width - u0) * 15e-6,
  7.     -((double) im_height - v0) * 15e-6,
  8.     im_height / 2. * 15e-6,
  9.     fx * 15e-6,
  10.     100);
  11. glDepthRange(0.1, 100);
  12. glMatrixMode(GL_MODELVIEW);
  13. // l'objet
  14. glBindTexture(GL_TEXTURE_2D, texName[0]);
  15. glLoadIdentity();
  16.    glTranslatef(x, y, z);
  17.  glRotatef(rz, 0.0, 0.0, 1.0);
  18.  glRotatef(ry, 0.0, 1.0, 0.0);
  19.  glRotatef(rx, 1.0, 0.0, 0.0);
  20. glScalef(3, 3, 3);
  21. glCallList(ID_OBJ);
  22. glFlush();


 
J'obtiens bien ce à quoi je m'attendais, en l'occurence une animation avec un cube texturé, mais j'ai un effet d'aliasing entre chaque frame qui est assez moche. J'ai même l'impression, lorsque mon cube est de face et qu'il translate suivant X, qu'entre deux frames le cube n'est pas exactement pareil :(  
 
Serait-il possible que ce soit à cause de la texture en MipMaps ?
Quelqu'un aurait une idée ?
 
Merci d'avance

Reply

Marsh Posté le 16-04-2003 à 14:42:49   

Reply

Marsh Posté le 16-04-2003 à 14:45:05    

Oups, l'indentation du code est ratée à cause du copier/coller.  :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

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