IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Afficher un triangle avec OpenGL


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Par défaut Afficher un triangle avec OpenGL
    Bonjour,

    je débute avec OpenGL.
    Je voulais créer un triangle mais le problème est que je n'ai rien à l'affichage
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <GL/gl.h>
    #include <GL/glu.h> 
     
    int main(int argc, char *argv[])
    {
      glClear(GL_COLOR_BUFFER_BIT);
     
      glBegin(GL_TRIANGLES);
      glColor3ub(255,0,0);    glVertex2d(-0.75,-0.75);
      glColor3ub(0,255,0);    glVertex2d(0,0.75);
      glColor3ub(0,0,255);    glVertex2d(0.75,-0.75);
      glEnd();
     
      return 0;
    }

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Premium
    Bonjour,

    je débute avec OpenGL.
    Je voulais créer un triangle mais le problème est que je n'ai rien à l'affichage
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <GL/gl.h>
    #include <GL/glu.h> 
     
    int main(int argc, char *argv[])
    {
      glClear(GL_COLOR_BUFFER_BIT);
     
      glBegin(GL_TRIANGLES);
      glColor3ub(255,0,0);    glVertex2d(-0.75,-0.75);
      glColor3ub(0,255,0);    glVertex2d(0,0.75);
      glColor3ub(0,0,255);    glVertex2d(0.75,-0.75);
      glEnd();
     
      return 0;
    }
    C'est un peu court comme code non ?
    Il faut faire pas mal de chose pour ouvrir une fenêtre OpenGL correctement.

    Premièrement il faut décider qui ouvre une fenêtre (OpenGL ne gére que l'affichage) :

    - Glut
    - SDL
    - Win API

    sont les plus classiques. Je te conseillerais Glut/SDL pour commencer et tu peux facilement trouver un tutoriel dessus.

    Si tu regardes dans mes tutoriels, le pong utilise SDL/OpenGL comme combinaison.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Par défaut
    Citation Envoyé par fearyourself
    C'est un peu court comme code non ?
    Il faut faire pas mal de chose pour ouvrir une fenêtre OpenGL correctement.

    Premièrement il faut décider qui ouvre une fenêtre (OpenGL ne gére que l'affichage) :

    - Glut
    - SDL
    - Win API

    sont les plus classiques. Je te conseillerais Glut/SDL pour commencer et tu peux facilement trouver un tutoriel dessus.

    Si tu regardes dans mes tutoriels, le pong utilise SDL/OpenGL comme combinaison.
    Bonjour,

    dans le cadre de mes études, j'utiliset OpenGL/GLUT.
    Aurais-tu un cours facile d'accès à me conseiller ?
    Le cours de mon prof m'est difficile à comprendre ainsi que ceux que j'ai touvé sur le net

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Par défaut
    Alors la pour GLUT tu as l'embaras du choix.
    Regarde du coté des universités.
    Il y a egalement sur le site un cour de prise en main d'openGL utilisant glut.

  5. #5
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Premium
    Bonjour,

    dans le cadre de mes études, j'utiliset OpenGL/GLUT.
    Aurais-tu un cours facile d'accès à me conseiller ?
    Le cours de mon prof m'est difficile à comprendre ainsi que ceux que j'ai touvé sur le net
    Pour un code qui ouvre une fenêtre en Glut :
    http://jeux.developpez.com/sources/o...se#WINDOW_glut

    Ensuite, non je ne connais pas de cours sur Glut. Si tu regardes dans le forum Contribuez, il y a pas mal de questions Glut que j'ai mis en place mais je vais en faire un article à la place. Faudra patienter par contre...

    http://www.developpez.net/forums/sho...d.php?t=147694
    http://www.developpez.net/forums/sho...d.php?t=193497
    http://www.developpez.net/forums/sho...d.php?t=191443

    Jc

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Par défaut
    Comment fait-on pour compiler un programmer écrit avec OpenGL/GLUT.
    Par exemple, ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    #include<stdlib.h>
    #include<GL/glut.h>
     
    void affichage(void)
    {
      /*Initialisation des pixels */
      glClear(GL_COLOR_BUFFER_BIT);
      /* dessin d'un polygone (rectangle) avec les sommets en (0.25, 0.25, 0.0) et (0.75, 0.75, 0.0)*/
      glBegin(GL_POLYGON);
      glColor3f(1.0, 0.0, 0.0);
      glVertex2f(-0.5, -0.5);
      glColor3f(0.0, 1.0, 0.0);
      glVertex2f(0.5, -0.5);
      glColor3f(0.0, 0.0, 1.0);
      glVertex2f(0.5, 0.5);
      glColor3f(1.0, 1.0, 1.0);
      glVertex2f(-0.5, 0.5);
      glEnd();
     
      /* On force l'affichage du resultat */
      glFlush();
    }
     
    void clavier(unsigned char touch, int x, int y)
    {
      switch(touche)
        {
        case 'p': /* affichage du carre plein */
          glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
          glutPostRedisplay();break;
        case 'f': /* affichage en mode fil de fer */
          glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
          glutPostRedisplay();break;
          case 's': /* affichage en mode sommet seul */
          glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
          glutPostRedisplay();break;
        case 'q': /* la touche 'q' quitte le programme */
          exit(0);
        }
    }
     
    int main(int argc, char *argv)
    {
      /* Initialisation de glut et création de la fenêtre */
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_RGB);
      glutInitWindowPosition(200, 200);
      glutInitWindowSize(250, 250);
      glutCreateWindow("exemple 1");
     
      /* Initialisation d'OpenGl */
      glClearColor(0.0, 0.0, 0.0, 0.0);
      /* On passe à 2 pixels pour des raisons de clarté */
      glPointSize(2.0);
     
      /* enregistrement des fonctions de rappels */
      glutDisplayFunc(affichage);
      glutKeyboardFunc(clavier);
     
      /* entree dans la boucle principale de glut*/
      glutMainLoop();
     
      return 0;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/07/2011, 17h51
  2. Afficher du texte avec OpenGL
    Par Happy dans le forum Contribuez
    Réponses: 0
    Dernier message: 27/09/2009, 00h29
  3. Afficher des cylindres avec OpenGL
    Par PetitProgJava dans le forum OpenGL
    Réponses: 3
    Dernier message: 10/01/2009, 02h14
  4. Afficher un tiangle avec OpenGL
    Par sidahmed dans le forum OpenGL
    Réponses: 5
    Dernier message: 18/03/2006, 21h50
  5. Afficher une image avec opengl
    Par kmaniche dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/02/2006, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo