Pavé en 3d amélioré [dev c++]

Contenu du snippet

Le même pavé qu'avant mais en 3D + réaliste, en plein écran avec des ombres !

Source / Exemple :


#include <stdio.h>
#include <GL\glut.h>

void Chargement(void)
{
    glClearColor(0,0,0,0); // La fenêtre est vidée de la couleur des fenêtres de Windows |
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}

void Affiche_Ligne()
{
  glClear(GL_COLOR_BUFFER_BIT); // On vide la fenêtre |  
    
  glBegin(GL_QUADS);
  
  /* Création de polygon pour la fonction GL_QUADS d'OpenGL.  
  |  Un point est créé à l'aide de glVertex3f(x, y, z); 
  |  ici, nous développons un pavé droit en 3D à l'aide de
  |  différents polygones.  

  • /
// Face 1 (rectangle) glColor3f(0.0,1.0,0.0); // Définiton de la couleur (RVB) du polygone (ici en vert)| glColor3f(0.0,1.0,0.0); glVertex3f(0.30,0.37,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(0.60,0.37,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(0.60,0.87,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(0.30,0.87,0.0); // Face 2 (paraléllogramme du bas) glColor3f(0.0,0.0,1.0); // Définiton de la couleur (RVB) du polygone (ici en bleu)| glColor3f(0.0,1.0,0.0); glVertex3f(0.40,0.12,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(0.70,0.12,0.0); glColor3f(0.0,0.70,0.0); glVertex3f(0.60,0.37,0.0); glColor3f(0.0,0.40,0.0); glVertex3f(0.30,0.37,0.0); // Face 3 (parallélogramme de droite) glColor3f(1.0,0.0,0.0); // Définiton de la couleur (RVB) du polygone (ici en rouge)| glColor3f(0.0,1.0,0.0); glVertex3f(0.70,0.12,0.0); glColor3f(0.0,70.0,0.0); glVertex3f(0.60,0.37,0.0); glColor3f(0.0,0.40,0.0); glVertex3f(0.60,0.87,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(0.70,0.62,0.0); glEnd(); glFlush(); } void clavier(unsigned char key, int x, int y) { switch(key) { case 27: exit(0); } } int main(int argc, char** argv) { glutInit(&argc, argv); // glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); int i; for(i=0;i<600;i=i+1) { glutInitWindowSize(i, i); } glutInitWindowPosition(200,200); glutCreateWindow(".:: The Cmax57 Power ! ::."); // Création de la fenêtre avec GLUT | glutFullScreen(); Chargement(); glutDisplayFunc(Affiche_Ligne); // Sélection de la fonction OpenGL glutKeyboardFunc(clavier); glutMainLoop(); }

Conclusion :


Essayer de le compiler ! (chez moi ça marche ! mais chez vous peut être pas !)

Compilé avec Dev C++ (ajouter la ligne de commande : -lopengl32 -lglu32 -lglut32 au compilateur !

@+

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.