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

  FORUM HardWare.fr
  Programmation

  [open gl] mon animation disparait au bout de quelque secondes !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[open gl] mon animation disparait au bout de quelque secondes !!!

n°178175
airseb
Posté le 17-07-2002 à 17:59:19  profilanswer
 

on voit l'objet tourner mais il clignote puis disparait
pouvez vous m'aidez à trouver les erreurs ?
 
#include <GL/glut.h>
#include <stdlib.h>
 
#define X .525731112119133606  
#define Z .850650808352039932  
 
 
void display ()
{
 static GLfloat tableau_entrelace [] = {1.0, 1.0, 1.0, -X, 0.0, Z, 1.0, 1.0, 1.0, X, 0.0, Z,  
  1.0, 1.0, 1.0, -X, 0.0, -Z, 1.0, 1.0, 1.0, X, 0.0, -Z, 1.0, 1.0, 1.0, 0.0, Z, X,
  1.0, 1.0, 1.0, 0.0, Z, -X, 1.0, 1.0, 1.0, 0.0, -Z, X, 1.0, 1.0, 1.0, 0.0, -Z, -X,  
  1.0, 1.0, 1.0, Z, X, 0.0, 1.0, 1.0, 1.0, -Z, X, 0.0,1.0, 1.0, 1.0, Z, -X, 0.0,  
  1.0, 1.0, 1.0, -Z, -X, 0.0} ;
 
 glInterleavedArrays (GL_C3F_V3F, 0, tableau_entrelace) ;
 
 static GLuint indices [20][3]= {1,4,0,4,9,0,4,5,9,8,5,4,1,8,4,1,10,8,10,3,8,8,3,5,3,2,5,
  3,7,2,3,10,7,10,6,7,6,11,7,6,0,11,6,1,0,10,1,6,11,0,9,2,11,9,5,2,9,11,2,7};
 
 glPolygonMode (GL_FRONT, GL_LINE) ;
 glFrontFace (GL_CCW) ;
 glEnable (GL_CULL_FACE) ;
   glCullFace (GL_BACK) ;
   
 
 
 glScalef ( 6.0, 6.0, 6.0 ) ;
 
 glRotatef (45, 0.0, 1.0, 0.0) ;
 glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
 glutSwapBuffers() ;
 
 for (int i =1; i<360; i++)
 {  
   
  if (i > 360)  
  {
   i = 1;
  }
  glPushMatrix () ;
  glRotatef (i, 0.0, 1.0, 0.0 ) ;
  glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
  glutSwapBuffers() ;
  glClear (GL_COLOR_BUFFER_BIT) ;
  glPopMatrix () ;  
   
 }
glFlush () ;
 
 
}
 
 
 
 
 
 
void main (int argc, char** argv)
 
{
glutInit (&argc, argv) ;
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) ;
glutInitWindowSize (640, 480) ;
glutInitWindowPosition (250,250) ;
glutCreateWindow (argv [0]) ;
 
glClearColor (0.0, 0.0, 0.0, 0.0) ;
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glEnable( GL_DEPTH_TEST );
 
 
 
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
 
glFrustum(-10.0 , 10.0, -10.0, 10.0, 5.0, 100.0);  
 
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
 
gluLookAt (0.0, 0.0, 10.0, 0.0,0.0,0.0, 0.0, 1.0, 0.0) ;
 
glutDisplayFunc (display) ;
 
 
glutMainLoop () ;
 
}


Message édité par airseb le 17-07-2002 à 18:01:38
mood
Publicité
Posté le 17-07-2002 à 17:59:19  profilanswer
 

n°178232
airseb
Posté le 17-07-2002 à 20:06:15  profilanswer
 

up

n°178237
Rasta Knig​ht
Houston, I've got a problem
Posté le 17-07-2002 à 20:31:51  profilanswer
 

[commentaire d'unn mec qui y connait rien en OpenGL]
 
regarde si en passant i à 720 dans cette ligne : for (int i =1; i<360; i++) ton anim ne dure pas plus lgtps. Si c'est bien le cas c'est que ta condition d'arrêt est mauvaise.
 
[/commentaire d'unn mec qui y connait rien en OpenGL]


---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
n°178246
bjone
Insert booze to continue
Posté le 17-07-2002 à 21:22:12  profilanswer
 

C'est ton Z-Buffer.
 

Code :
  1. glPushMatrix () ;
  2. glRotatef (i, 0.0, 1.0, 0.0 ) ;
  3. glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
  4. glutSwapBuffers() ;
  5. glClear (GL_COLOR_BUFFER_BIT) ;
  6. glPopMatrix () ;


 
à corriger vers:
 

Code :
  1. glPushMatrix () ;
  2. glRotatef (i, 0.0, 1.0, 0.0 ) ;
  3. glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
  4. glutSwapBuffers() ;
  5. glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ) ;
  6. glPopMatrix () ;


 


Message édité par bjone le 17-07-2002 à 21:24:13
n°178247
ZeMin
Posté le 17-07-2002 à 21:23:16  profilanswer
 

airseb a écrit a écrit :

on voit l'objet tourner mais il clignote puis disparait
pouvez vous m'aidez à trouver les erreurs ?
 
#include <GL/glut.h>
#include <stdlib.h>
 
#define X .525731112119133606  
#define Z .850650808352039932  
 
 
 
 
 for (int i =1; i<360; i++)
 {  
   
  if (i > 360)  
  {
   i = 1;
  }
}




 
c la que ca foire !
 
le i de ta boucle for ne sera jamais > 360 car tu as fixé la condition tel que i soit tjrs < 360.
Donc non :)

n°178249
ZeMin
Posté le 17-07-2002 à 21:25:21  profilanswer
 

et il faut aussi permuter le tampon zbuffer et effacer l'écran ;)

n°178250
bjone
Insert booze to continue
Posté le 17-07-2002 à 21:27:02  profilanswer
 

un Z-Buffer ça se permuttes pas, ça s'effaçes...
(pour être plus précis ça s'initialises à la valeur de la far plane du frustum, mais théoriquement c'est toujours 1.0, car le Z est ramené dans un domaine (0,1) )


Message édité par bjone le 17-07-2002 à 21:29:51
n°178275
airseb
Posté le 17-07-2002 à 22:57:49  profilanswer
 

merci les gars  :jap:  :D

n°178283
ZeMin
Posté le 17-07-2002 à 23:28:30  profilanswer
 

bjone a écrit a écrit :

un Z-Buffer ça se permuttes pas, ça s'effaçes...
(pour être plus précis ça s'initialises à la valeur de la far plane du frustum, mais théoriquement c'est toujours 1.0, car le Z est ramené dans un domaine (0,1) )




 
Excuses je me suis gourré de termes, j'ai permuté Z buffer avec double buffer.
 
Je voulais dire permuter le back buffer et le front buffer voila ;)

n°178306
bjone
Insert booze to continue
Posté le 18-07-2002 à 00:23:32  profilanswer
 

oki ;)


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

  [open gl] mon animation disparait au bout de quelque secondes !!!

 

Sujets relatifs
[PHP] Couper une variable au bout de X caractères sur un espace...c quoi l'open ML ?
[open gl] je ne comprend pas mes erreurs pour ma geosphère (tjs pas)[C++] sous unix, O_TEXT (fonction open())
[open gl] pourquoi le rendu de mon cube n'est pas parfait ?[open gl] please j'ai un problème avec glortho
[open gl] pourquoi mon programme marche pas ??? (tjs pas 2)[MUTEX] difference entre ce bout de code et un mutex
[Javascript & PHP ] Fermer une fenetre au bout d'un temps donnéCRÉATION D'UN RÉSEAU GÉANT OPEN-SOURCE
Plus de sujets relatifs à : [open gl] mon animation disparait au bout de quelque secondes !!!


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