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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 868 fois - Téléchargée 41 fois

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

Ajouter un commentaire Commentaires
Messages postés
33
Date d'inscription
samedi 3 juin 2006
Statut
Membre
Dernière intervention
14 août 2006

nuuuuuuuuuuuuuuuuuuuuuuuuul
Messages postés
174
Date d'inscription
mardi 10 avril 2001
Statut
Membre
Dernière intervention
30 juillet 2003
1
lol
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
Hum, quelle horreur! J'sais pas si c'est un oubli mais y'a pas de
return 0; a la fin de ton main, c'est facheux pour une fonction qui doit retourner un int !!!!!!!!
Alé bonne prog!
Bouba

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.