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 :

Tutoriel Néhé help


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Par défaut Tutoriel Néhé help
    Hello à tous,

    voilà j'essaie de refaire de les tutoriels concernant de Néhé en java (sur JOGL)
    http://nehe.gamedev.net
    je me heurte au premier tuto ( )

    je n'arrive pas à avoir la couleur blanche pour le triangle et le quad.
    De plus il a l'air d'avoir oublier quelques appels à glColor dans son code.


    sinon lorsque je lance mon programme, je ne vois pas mon triangle?

    voici mon 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
     
    public void init(GLAutoDrawable arg0) {
    		GL gl = arg0.getGL();
    		gl.glShadeModel(GL.GL_SMOOTH);
    		gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background
    		gl.glClearDepth(1.0f); // Depth Buffer Setup
    		gl.glEnable(GL.GL_DEPTH_TEST); // Enables Depth Testing
    		gl.glDepthFunc(GL.GL_LEQUAL);
     
    		gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); // Really
    																	// Nice
    																	// Perspective
    																	// Calculations
     
    	}
    pour la fonction init

    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
     
    public void display(GLAutoDrawable arg0) {
    		GL gl = arg0.getGL();
    		gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
     
    		gl.glLoadIdentity();
     
    		gl.glTranslatef(-1.5f, 0.0f, -6.0f); // Move Left 1.5 Units And Into
    		// The
    		// Screen 6.0
     
    		gl.glBegin(GL.GL_TRIANGLES); // Drawing Using Triangles
    		gl.glVertex3f(0.0f, 1.0f, 0.0f); // Top
    		gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
    		gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
    		gl.glEnd(); // Finished Drawing The Triangle
     
    		gl.glTranslatef(3.0f, 0.0f, 0.0f); // Move Right 3 Units
     
    		gl.glBegin(GL.GL_QUADS); // Draw A Quad
    		gl.glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
    		gl.glVertex3f(1.0f, 1.0f, 0.0f); // Top Right
    		gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
    		gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
    		gl.glEnd();
    	}
    pour la fonction d'affichage


    Voilà je ne comprend pas pourquoi j'ai ces deux problemes là

    a+
    omlip

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Salut,

    Tu utilises quelle version de JOGL? Avec la 1.1, ça marche ton code (en corrigeant les GLAutoDrawable par des GLDrawable)... il y a bien ce qu'il faut...
    D'ailleurs si tu disais ce que tu obtiens comme résultat, ce serait plus clair...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Par défaut
    oui de fait, mais je fut interrompu tout à l'heure

    voici un screen

    Pour infos, j'utilise la version JSR de JOGL

    j'ai l'impression que faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gl.glTranslatef(-1.5f, 0.0f, -6.0f);
    me fait sortir de ma fenetre ???

    voici un resultat


  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Par défaut
    heu j'ai l'impression d'avoir plein de ppépins :s

    j'ai modifié quelques lignes
    pour arriver a ceci
    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
     
    public void init(GLAutoDrawable arg0) {
    		GL gl = arg0.getGL();
    		//gl.glShadeModel(GL.GL_SMOOTH);
    		//gl.glClearColor(1.0f, 0.0f, 0.0f, 0.0f); // Black Background
    		//gl.glClearDepth(1.0f); // Depth Buffer Setup
    		gl.glEnable(GL.GL_DEPTH_TEST); // Enables Depth Testing
    		//gl.glDepthFunc(GL.GL_LEQUAL);
     
    		//gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); // Really
    																	// Nice
    																	// Perspective
    																	// Calculations
     
    	}
    pour la méthode init

    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
     
    public void display(GLAutoDrawable arg0) {
    		GL gl = arg0.getGL();
    		gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
    		gl.glClearColor(1.0f, 0.0f, 0.0f, 0.0f);
    		gl.glLoadIdentity();
     
    		gl.glTranslatef(-1.5f, 0.0f, -1.0f); // Move Left 1.5 Units And Into
    		// The
    		// Screen 6.0
     
    		gl.glBegin(GL.GL_TRIANGLES); // Drawing Using Triangles
    		gl.glVertex3f(0.0f, 1.0f, 0.0f); // Top
    		gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
    		gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
    		gl.glEnd(); // Finished Drawing The Triangle
     
    		gl.glTranslatef(3.0f, 0.0f, 0.0f); // Move Right 3 Units
     
    		gl.glBegin(GL.GL_QUADS); // Draw A Quad
    		gl.glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
    		gl.glVertex3f(1.0f, 1.0f, 0.0f); // Top Right
    		gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
    		gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
    		gl.glEnd();
    	}
    pour la méthode d'affichage


    avec ce code la je suis censé avoir un fond d'écran rouge ? non? et ben non j'obtiens le même résultat que l'image du post précédant

  5. #5
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par omlip
    j'ai l'impression que faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gl.glTranslatef(-1.5f, 0.0f, -6.0f);
    me fait sortir de ma fenetre ???
    Ca, y'a des chances que oui... si tu déplaces le point courant, il arrive un moment où tu sors de la fenêtre...

    Citation Envoyé par omlip
    avec ce code la je suis censé avoir un fond d'écran rouge ? non?
    Non.
    Pour une raison très simple, c'est que tu définis la couleur du fond, après avoir effacé l'écran... donc forcément, ça marche pas! Il faut le définir avant (donc inverser les lignes glClear et glClearColor)

    C'est un peu bête, mais logique... quand tu veux tracer un trait bleu, tu commences par prendre le crayon bleu. Parce que si tu prends le crayon bleu après avoir tracé ton trait, il y a de très fortes chances pour que le crayon que tu avais avant ne soit pas bleu...

    Cette remarque est valable pour toutes les autres définitions de couleur (remplissage, trait, point, etc etc)

    En plus des tutoriels de Nehe, tu devrais jeter un oeil au Red Book également. Tu y trouveras beaucoup plus d'informations théoriques sur OpenGL. Nehe est très bien pour la mise en pratique, mais si tu n'as pas les bases, tu vas galérer.
    Pour les liens:
    http://www.developpez.net/forums/showthread.php?t=9681

    et aussi:
    http://fly.srk.fer.hr/~unreal/theredbook/
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Par défaut
    hello et merci d'avoir répondu

    heu j'ai inversé les 2 lignes que tu m'as dites mais ca n'a rien changé
    je vais je pense commencé par le bouquin red book paske en effet je galère un peu

    merci du lien
    je vais dans le bouquin alors

    est-ce utilie de se procurer la version 2?


    a+
    omlip

  7. #7
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par omlip
    heu j'ai inversé les 2 lignes que tu m'as dites mais ca n'a rien changé
    Ben recommence, parce que ça change...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Les meilleurs cours et tutoriels C++
    Par Community Management dans le forum C++
    Réponses: 1
    Dernier message: 13/05/2015, 13h50
  2. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  3. Tutoriels et liens pour le Borland Database Engine
    Par Community Management dans le forum Paradox
    Réponses: 0
    Dernier message: 25/03/2002, 10h23
  4. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    Réponses: 0
    Dernier message: 14/03/2002, 15h28

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