guepe J'ai du noir sur la truffe ? | je debute l'opengl, et j'ai suivis un tutorial vu sur Games Creators Network...
bien sur en suivant le tuto tout marche tres bien (et c'est bien explique, aucuns problemes) mais je n'arrive pas a faire exactement ce que je veut ensuite.
Le but du tuto etait au final de creer un cube immobile au centre et deux satellites identiques mis a l'echelle...
voici le code de positionnement des differents cubes :
Code :
- glCallList(id_cube); //dessine le cube 1 (petit)
- glPushMatrix();
- glRotated(angle,0,1,0); //rotation
- glTranslatef(0,0,-5); //translation
- glScaled(0.5,0.5,0.5); //mise a echelle
-
- glCallList(id_cube); // cube 2
- glPopMatrix();
- glPushMatrix();
- glRotated(angle,0,1,0);
- glTranslatef(0,0,5);
- glRotated(angle,0,1,0);
- glScaled(0.5,0.5,0.5);
-
- //buggé a mort
- glCallList(id_cube); // cube 3
- glPopMatrix();
- glPushMatrix();
- glRotated(angle/3,1,0,0);
- glTranslatef(0,5,0);
- glRotated(angle/4,1,3,1);
- glScaled(0.5,0.5,0.5);
-
-
- glPopMatrix();
-
- glutSwapBuffers();
|
tout va tres bien, sauf que comme ca le cube trois est immobile (! alors que je lui fais faire une rotation (et une mise a echelle, juste pour bien voir qu'il ne se passe rien)
si j'ajoute, juste avant le dernier glPopMatrix() un glCallList(id_cube), j'ai bien un cube qui s'affiche (et qui tourne) - bien sur on ne le voit que si j'enleve la mise a echelle, sinon on le voit pas il est dans le cube immobile - mais il s'affiche au dessus du precedent, toujours aussi immobile
j'ai pas du bien comprendre comment il fallait faire, ca doit pourtant pas etre bien complique sinon j'ai un autre petit probleme : je n'arrive pas a lancer la fenetre en plein ecran...
Code :
- glutInit(& argc, argv); //transfert a glut les param. d'init.
- glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); //mise en place des parametres de la fenetre, simple tampon
- //glutFullScreen(); //cree une fen. plein ecran
-
- glutInitWindowSize(width, height); //taille et pos. de la fenetre
- glutInitWindowPosition(50, 50);
-
- //id_cube=glGenLists(1); // ici, on a besoin que d'une liste
- glutCreateWindow("Fenetre OpenGL" );
- Init(); //appelle le test Z-buffer
- Reshape(width, height);
|
ici le code de ma creation de fenetre, bah si j'enleve les initwindowsize et position, que je fais un reshape avec les bon width/height à la defnition de mon ecran, ca plante comment creer une fenetre en plein ecran???
merci pour tout!!! ---------------
Un blog qu'il est bien
|