Bonjour bonjour!
Debutant jogl ici...
Je suis sous windows XP pro us
J'avais codé un debut de jeu en open gl sous netbeans (depuis une gentoo).
Il marchait tres bien mais j'ai recemment voulu m'y remettre et je n'arrive plus a le lancer (bien qu'il compile apres avoir fixé les namespace et autre GLAutoDrawable).
J'ai installer jogl1.0.0, cad j'ai copier les dll dans c:\windows\ histoire qu'ils soient dans le PATH, et j'ai mis jogl.jar dans ...\jdk1.5.0_10\jre\lib\ext qui est bien le jdk utilisé par netbeans (j'ai vérifié).
Quand je cherche a executer mon jeu (depuis netbeans) il se compile mais au moment de se lancer il me claque une exception:
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
Exception in thread "main" javax.media.opengl.GLException: java.lang.reflect.InvocationTargetException
        at javax.media.opengl.GLCanvas.disableBackgroundErase(GLCanvas.java:352)
        at javax.media.opengl.GLCanvas.addNotify(GLCanvas.java:154)
        at java.awt.Container.addNotify(Container.java:2500)
        at java.awt.Window.addNotify(Window.java:466)
        at java.awt.Frame.addNotify(Frame.java:501)
        at java.awt.Window.show(Window.java:513)
        at java.awt.Component.show(Component.java:1300)
        at java.awt.Component.setVisible(Component.java:1253)
        at fantasyarena.Main.main(Main.java:51)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at javax.media.opengl.GLCanvas.disableBackgroundErase(GLCanvas.java:350)
        ... 8 more
Caused by: java.lang.UnsatisfiedLinkError: disableNativeBackgroundErase
        at sun.awt.windows.WCanvasPeer.disableNativeBackgroundErase(Native Method)
        at sun.awt.windows.WCanvasPeer.disableBackgroundErase(WCanvasPeer.java:114)
        at sun.awt.windows.WToolkit.disableBackgroundErase(WToolkit.java:376)
        ... 13 more
qui semblerait etre causé par la ligne : "frame.setVisible(true);"
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
public static void main(String[] args)
  {
    final Animator animator;
    SimpleMap      map;
 
    map = new SimpleMap(8);
 
    Frame    frame  = new Frame("Fantasy Arena v0.1");
    GLCanvas canvas = new GLCanvas();
    canvas.addGLEventListener(new Renderer(map));
    frame.add(canvas);
    frame.setSize(800, 600);
    animator = new Animator(canvas);
    frame.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        animator.stop();
        System.exit(0);
      }
    });
    frame.setVisible(true);
    animator.start();
    canvas.requestFocus();
  }
Merci beaucoup de votre aide n'hesitez a me demander des precisions si ma question est floue.