Bonjour,

En ce moment je fais mes premiers pas en opengl avec le langage java.

J'ai bien suivit le tuto suivant sur le sujet

http://info-rital.developpez.com/tut...pengl/opengl1/

Par la suite j'ai voulu essayer la lesson 03 du fabuleux site nehe
http://nehe.gamedev.net/data/lessons....asp?lesson=03

çà marche pas. j'ai un ecran noir. Ou est mmon erreur ?
Quelques info :

mon ide est oracle jdevelopper.

ma ligne de compil dans le log

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Compiling...
C:\Program Files\Java\jdk1.5.0_15\jre\bin\java.exe -jar C:\apps\oracle\jdevstudiobase10131\jdev\lib\ojc.jar -source 1.5 -target 1.5 -noquiet -warn -nowarn:320 -nowarn:486 -nowarn:487 -deprecation:self -nowarn:560 -nowarn:704 -nowarn:489 -nowarn:415 -nowarn:909 -nowarn:412 -nowarn:414 -nowarn:561 -nowarn:376 -nowarn:371 -nowarn:558 -nowarn:375 -nowarn:413 -nowarn:377 -nowarn:372 -nowarn:557 -nowarn:556 -nowarn:559 -encoding Cp1252 -g -d D:\sncb\mestrucs\Developpez\classes -make D:\sncb\mestrucs\Developpez\classes\Developpez.cdi -classpath  "C:\Program Files\Java\jdk1.5.0_15\jre\lib\rt.jar;C:\Program Files\Java\jdk1.5.0_15\jre\lib\i18n.jar;C:\Program Files\Java\jdk1.5.0_15\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.5.0_15\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.5.0_15\jre\lib\jce.jar;C:\Program Files\Java\jdk1.5.0_15\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.5.0_15\jre\classes;C:\Program Files\Java\jdk1.5.0_15\lib\jogl.jar;C:\Program Files\Java\jdk1.5.0_15\lib\gluegen-rt.jar;D:\sncb\mestrucs\Developpez\classes;D:\MyApp\jogl\jogl-1.1.2-pre-20080523-windows-i586\lib;D:\MyApp\jogl\jogl-1.1.2-pre-20080523-windows-i586\lib\gluegen-rt.jar;D:\MyApp\jogl\jogl-1.1.2-pre-20080523-windows-i586\lib\jogl.jar" -sourcepath  "D:\sncb\mestrucs\Developpez\src;C:\Program Files\Java\jdk1.5.0_15\src.zip" D:\sncb\mestrucs\Developpez\src\developpez\opengl\Article1.java 
[10:37:30 PM] Successful compilation: 0 errors, 0 warnings.
Et 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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
 
package developpez.opengl;
 
import java.awt.*;
import java.awt.event.*;
 
import javax.media.opengl.*;
 
import com.sun.opengl.util.*;
 
/**
 * Article1.java
 * author: InfoRital
 * 
 * Code source du premier article.
 * Article1 implémente {@link GLEventListener} pour obtenir le méchanisme de callback
 *
 */
public class
 
Article1 implements GLEventListener {
 
    public static void main(String[] args) {
        /**
         * Création d'une fenêtre
         * Nous utilisons la classe Frame de AWT
         * plutôt que la classe JFrame de Swing
         * pour une question de performance
         */
        Frame frame = new Frame("Article1");
 
        /**
         * Création du Canvas OpenGL
         * pour pouvoir dessiner dessus
         */
        GLCanvas canvas = new GLCanvas();
 
        /**
         * Nous attachons ensuite le méchanisme de callback
         * à notre surface dessinable
         */
        canvas.addGLEventListener(new Article1());
 
        /**
         * Nous attachons maintenant notre
         * surface dessinable à notre fenêtre
         */
        frame.add(canvas);
 
        /**
         * Création de l'Animator
         * comme expliqué dans l'article
         */
        final Animator animator = new Animator(canvas);
 
        /**
         * Le code qui suit permet de gérer la fermeture
         * de la fenêtre par l'utilisateur
         */
        frame.addWindowListener(new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        /**
                 * Nous créons un nouveau thread autre
                 * que la queue d'évenements AWT
                 * pour être d'arrêter l'Animator avant
                 * de quitter complétement
                 */
                        new Thread(new Runnable() {
                                    public void run() {
                                        animator.stop();
                                        System.exit(0);
                                    }
                                }).start();
                    }
                });
 
        /**
         * Nous donnons une taille à la fenêtre
         * et nous l'affichons
         */
        frame.setSize(300, 300);
        frame.setVisible(true);
 
        /**
         * Nous démarrons l'Animator qui
         * va se charger de faire des appels
         * à la méthode display();
         */
        animator.start();
    }
 
    /**
     * init() sera appelée une fois au début de l'animation
     * C'est dans cette méthode que nous nous chargerons de toute
     * les opérations d'initialisation
     */
    public void init(GLAutoDrawable drawable) {
 
        /**
         * GLEventListener renvoie un contexte (drawable)
         * que nous allons utiliser pour instancier un objet
         * de type GL, qui nous permettra d'utiliser
         * les fonctions OpenGL, bien que dans cet article
         * cela reste encore inutile
         */
        GL gl = drawable.getGL();
 
        /**
         * Cette fonction permet de désactiver
         * la syncronisation verticale, indépendement
         * de la plateforme utilisée
         */
        gl.setSwapInterval(1);
 
    }
 
    /**
     * reshape() sera appelée si la fenêtre d'affichage est redimensionnée
     */
    public void reshape(GLAutoDrawable drawable, int x, int y, int width, 
                        int height) {
        GL gl = drawable.getGL();
 
    }
 
    /**
     * display() sera appelée en boucle tout au long de l'application
     * par la classe Animator. C'est dans cette fonction qu'on fera
     * tout ce qui doit être affiché
     */
    public void display(GLAutoDrawable drawable) {
 
        GL gl = drawable.getGL();
 
        gl.glClear(gl.GL_COLOR_BUFFER_BIT | 
                   gl.GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
        gl.glLoadIdentity(); // Reset The View
 
        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.glColor3f(1.0f, 0.0f, 0.0f); // Set The Color To Red
 
        gl.glVertex3f(0.0f, 1.0f, 0.0f); // Top
        gl.glColor3f(0.0f, 1.0f, 0.0f); // Set The Color To Red
 
        gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
        gl.glColor3f(0.0f, 0.0f, 1.0f); // Set The Color To Red
 
        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.glColor3f(0.5f,0.5f,1.0f);                              // Set The Color To Blue One Time Only
        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(); // Done Drawing The Quad
 
    }
 
    /**
     * displayChanged() est appelée si le mode d'affichage par exemple
     * est modifié. Cependant nous n'implémenterons pas cette méthode.
     */
    public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, 
                               boolean deviceChanged) {
    }
 
}
Et bien çà marche pas un j'ai un écran noir.

ou est-ce que je me plante ?

Quelqu'un peut m'aider ?

Merci