umag deux yeux sinon rien | 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 :
- glClearColor(1., 1., 1., 0.5);
- glEnable( GL_DEPTH_TEST );
- glEnable( GL_TEXTURE_2D );
- glDepthFunc(GL_LEQUAL);
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
- // --- L'objet ------
- // génération des textures
- glGenTextures(1, &texName[0]);
- try {
- im.read("./images/paris.png" );
- im.flip();
- glBindTexture(GL_TEXTURE_2D, texName[0]);
- gluBuild2DMipmaps(GL_TEXTURE_2D, 3, im.columns(), im.rows(),
- GL_BGRA, GL_UNSIGNED_SHORT,
- im.getPixels(0, 0, im.columns(), im.rows()));
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- }
- catch (exception &e) {
- cerr << e.what() << endl;
- throw;
- }
- glShadeModel(GL_SMOOTH);
- // initialisation de l'objet
- glNewList(ID_OBJ, GL_COMPILE);
- // ... description
- glEndList();
|
Par la suite, mon affichage est assez sommaire
Code :
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
- glViewport(0, 0, im_width, im_height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(im_width / 2. * 15e-6,
- -((double) im_width - u0) * 15e-6,
- -((double) im_height - v0) * 15e-6,
- im_height / 2. * 15e-6,
- fx * 15e-6,
- 100);
- glDepthRange(0.1, 100);
- glMatrixMode(GL_MODELVIEW);
- // l'objet
- glBindTexture(GL_TEXTURE_2D, texName[0]);
- glLoadIdentity();
- glTranslatef(x, y, z);
- glRotatef(rz, 0.0, 0.0, 1.0);
- glRotatef(ry, 0.0, 1.0, 0.0);
- glRotatef(rx, 1.0, 0.0, 0.0);
- glScalef(3, 3, 3);
- glCallList(ID_OBJ);
- 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 |