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

  FORUM HardWare.fr
  Programmation

  [OpenGL] Problèmes avec les faces d'une pyramide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[OpenGL] Problèmes avec les faces d'une pyramide

n°17868
Alload
Posté le 09-03-2001 à 15:49:02  profilanswer
 

Aucune des faces de la pyramide ne s'affiche correctement, quel est le problème?
 
Voilà le code:
 
#include <windows.h>
#include <gl/glut.h>
 
///////////////////////////////////////////////////////////////////
 
double rtri;
double rbase;
 
///////////////////////////////////////////////////////////////////
 
void init (GLvoid)
{
 
  glShadeModel (GL_SMOOTH);
 glClearColor (0.0, 0.0, 0.0, 0.0);
 glClearDepth (1.0);
 glEnable (GL_DEPTH_TEST);
 glDepthFunc (GL_LEQUAL);
 glEnable (GL_COLOR_MATERIAL);
 glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}
 
///////////////////////////////////////////////////////////////////
 
void display (void)
{
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
 glLoadIdentity();
 
 glTranslatef( 0.0, 0.0,-5.0);
 
 glRotatef(rtri, 0.0, 1.0, 0.0);
 rtri-=0.5;
 glBegin(GL_TRIANGLES);
  glColor3f ( 1.0, 0.0, 0.0);  // Rouge
  glVertex3f( 0.0, 1.0, 0.0);  // Top Of Triangle (Front)
  glVertex3f(-1.0,-1.0, 1.0);  // Left Of Triangle (Front)
  glVertex3f( 1.0,-1.0, 1.0);  // Right Of Triangle (Front)
   
 
  glColor3f ( 0.0, 1.0, 0.0);  // Vert
  glVertex3f( 0.0, 1.0, 0.0);  // Top Of Triangle (Right)
  glVertex3f( 1.0,-1.0, 1.0);  // Left Of Triangle (Right)
  glVertex3f( 1.0,-1.0,-1.0);  // Right Of Triangle (Right)
 
  glColor3f ( 0.0, 0.0, 1.0);  // Bleu
  glVertex3f( 0.0, 1.0, 0.0);  // Top Of Triangle (Back)
  glVertex3f( 1.0,-1.0,-1.0);  // Left Of Triangle (Back)
  glVertex3f(-1.0,-1.0,-1.0);  // Right Of Triangle (Back)
 
  glColor3f ( 0.5, 0.5, 0.5);  // Gris
  glVertex3f( 0.0, 1.0, 0.0);  // Top Of Triangle (Left)
  glVertex3f(-1.0,-1.0,-1.0);  // Left Of Triangle (Left)
  glVertex3f(-1.0,-1.0, 1.0);  // Right Of Triangle (Left)
 glEnd();
 
 glLoadIdentity();
 
 glTranslatef( 0.0, 0.0,-5.0);
 
 glRotatef(rbase, 0.0, 1.0, 0.0);
 rbase-=0.5;
 glBegin(GL_QUADS);
  glColor3d ( 0.2, 0.3, 0.5);
  glVertex3f(-1.0,-1.0, 1.0);
  glVertex3f(-1.0,-1.0,-1.0);
  glVertex3f( 1.0,-1.0,-1.0);
  glVertex3f( 1.0,-1.0, 1.0);
 glEnd();
   
 glutSwapBuffers ();
}
 
///////////////////////////////////////////////////////////////////
 
void reshape (int w, int h)
{
 glViewport (0, 0, w, h);
 glMatrixMode (GL_PROJECTION);
 glLoadIdentity ();
 
 if (h==0)
  gluPerspective (80,(float) w, 1.0, 5000.0);
 
 else
  gluPerspective (80,(float)w/(float) h, 1.0, 5000.0);
 
 glMatrixMode (GL_MODELVIEW);
 glLoadIdentity ();
}
 
///////////////////////////////////////////////////////////////////
 
void main (int argc, char** argv)
{
  glutInit (&argc, argv);
  init ();
  glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE);
  glutInitWindowSize (640, 480);
  glutCreateWindow ("Newbie's Project" );
  //glutFullScreen ();
  glutDisplayFunc (display);
  glutIdleFunc (display);
  glutReshapeFunc (reshape);
  glutMainLoop ();
}
 
///////////////////////////////////////////////////////////////////

mood
Publicité
Posté le 09-03-2001 à 15:49:02  profilanswer
 

n°17870
WiseTechi
Posté le 09-03-2001 à 16:20:51  profilanswer
 

Ton cube s'affiche-t-il bien lui par contre ?
 
A++

n°17873
Alload
Posté le 09-03-2001 à 16:24:45  profilanswer
 

Oui il marche bien.

n°17883
WiseTechi
Posté le 09-03-2001 à 16:46:05  profilanswer
 

Je viens de compiler le prog chez moi, et j'ai une très belle pyramide qui tourne !!!!
Qu'est-ce que tu vois exactement ??
De plus, fait attention à l'ordre des vertex pour que la transparence des facettes soit bonne (cad transparentes de dos ou non, etc...)
 
A++

n°17895
MC
retour à la raison
Posté le 09-03-2001 à 17:20:03  profilanswer
 

Bon deja dans le glutInitDisplayMode il faut ajouter GLUT_DEPTH
et tu deplace init() après la création de la fenetre (car c'est la qu'opengl est instancié, pas d'appel glXXX avant!)

 

[edit]--Message édité par MC--[/edit]

n°17923
Alload
Posté le 09-03-2001 à 20:29:57  profilanswer
 

Merci MC, ça a résout mon problème. Ca marche très bien maintenant.
:)
 
Un grand merci à tous pour votre aide!!!


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

  [OpenGL] Problèmes avec les faces d'une pyramide

 

Sujets relatifs
[OpenGL] Problèmes[C/C++ opengl] Programmation d'un jeu réseau
[OpenGL] Problème de compilation[OpenGL] explosion ...
Problèmes avec personnal web serversites sur directX et openGL
[OpenGL] L'activation des texture me change mes couleurs ![OpenGL] Question bête
[3D][OpenGL] T&L 
Plus de sujets relatifs à : [OpenGL] Problèmes avec les faces d'une pyramide


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