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 :

Netbeans + OpenGl


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut Netbeans + OpenGl
    Bonjour,

    j'ai téléchargé NetBeans 6.8 car j'aimerai faire de l'OpenGl avec cet IDE et java.

    J'ai téléchargé les jar suivants que j'ai intégré à mon projet :
    jogl-natives-windows-i586.jar
    jogl.all.jar
    jogl-demos-data.jar

    J'ai ensuite récupéré le code suivant :
    import javax.media.opengl.awt.GLCanvas;

    public class Article1 implements GLEventListener {

    public static void main(String[] args) {
    Frame frame = new Frame("Article1");
    GLCanvas canvas = new GLCanvas();
    frame.setSize(300, 300);
    frame.setVisible(true);
    }

    public void init(GLAutoDrawable drawable) {

    GL gl = drawable.getGL();
    gl.setSwapInterval(1);

    }

    public void reshape(GLAutoDrawable drawable, int x, int y, int width,
    int height) {
    GL gl = drawable.getGL();

    }

    public void display(GLAutoDrawable drawable) {

    GL gl = drawable.getGL();

    }


    public void displayChanged(GLAutoDrawable drawable, boolean modeChanged,
    boolean deviceChanged) {
    }

    public void dispose(GLAutoDrawable glad) {
    throw new UnsupportedOperationException("Not supported yet.");
    }
    }
    La compilation se passe bien mais lors de l'exécution j'ai cette erreur :
    run:
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/nativewindow/AbstractGraphicsConfiguration
    at opengl.Article1.main(Article1.java:44)
    Caused by: java.lang.ClassNotFoundException: javax.media.nativewindow.AbstractGraphicsConfiguration
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 1 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)

    Avez vous une idée d'où cela peut venir ?
    Est-ce que cela peut venir du PATH mal configuré ?

    Merci de vos réponses, si le thread est mal placé j'en suis désolé...

    Edit : je viens de voir que mon sujet serait peut etre mieux placé ici :
    http://www.developpez.net/forums/f63.../graphisme/3d/

    est ce que je recréé un sujet ou un modérateur bouge mon thread ou on laisse comme ça ?

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    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 818
    Par défaut
    Salut,

    Il faudrait préciser ce que tu as fait entre "j'ai téléchargé les jar suivants" et "la compilation se passe bien".

    Où as-tu mis les différents fichiers? (jar et dll)
    Comment as-tu configuré ton projet netbeans?
    Exécution interne netbeans ou externe?

    Pour la PATH mal configuré, je te laisse vérifier ce que tu as dedans et où sont tes fichiers (et nous donner l'info éventuellement)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut
    Bonjour plegat,

    Merci de ta réponse. Je vais essayer d'être plus exhaustif.

    J'ai téléchargé :
    1] Jdk que j'ai placé dans le dossier : M:\TravailPerso\jdk6Update20,
    2] jre que j'ai placé dans le dossier : M:\TravailPerso\jre6,
    3] Netbeans que j'ai placé dans le dossier : M:\TravailPerso\NetBeans,
    4] Les jar :
    * jogl.all.jar,
    * jogl-demos-data.jar,
    * jogl-natives-windows-i586.jar
    à partir du site : http://jogamp.org/deployment/webstart/ et je les ai placé dans le dossier :M:\TravailPerso\OpenGl

    Puis j'ai créé un projet JavaApplication avec NetBeans que j'ai nommé OpenGl qui est placé dans le dossier : M:\TravailPerso\Projets\TestOpenGl\OpenGl.

    Dans les propriétés de ce projet, dans la partie librairie, j'ai rajouté les 3 .jar cités précédemment (onglets compil et run).

    Dans ce projet, j'ai seulement une classe (la main) dont voici le code qui marche à la compilation et à l'exécution :

    import com.jogamp.opengl.util.Animator;
    import java.awt.*;
    import java.awt.event.*;

    import javax.media.opengl.*;
    //import com.sun.opengl.util.*;
    import javax.media.opengl.awt.GLCanvas;
    public class Article1 implements GLEventListener {

    public static void main(String[] args) {

    Frame frame = new Frame("Article1");

    //GLCanvas canvas = new GLCanvas();
    //canvas.addGLEventListener(new Article1());

    //frame.add(canvas);

    //final Animator animator = new Animator(canvas);

    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    new Thread(new Runnable() {
    public void run() {
    //animator.stop();
    System.exit(0);
    }
    }).start();
    }
    });

    frame.setSize(300, 300);
    frame.setVisible(true);

    //animator.start();
    }

    public void init(GLAutoDrawable drawable) {

    GL gl = drawable.getGL();
    gl.setSwapInterval(1);

    }

    public void reshape(GLAutoDrawable drawable, int x, int y, int width,
    int height) {
    GL gl = drawable.getGL();

    }

    public void display(GLAutoDrawable drawable) {

    GL gl = drawable.getGL();

    }

    public void displayChanged(GLAutoDrawable drawable, boolean modeChanged,
    boolean deviceChanged) {
    }

    public void dispose(GLAutoDrawable glad) {
    throw new UnsupportedOperationException("Not supported yet.");
    }

    }
    Il y a bien une frame qui s'affiche et se ferme normalement avec la petite croix.

    Par contre dès que je décommente la ligne :
    GLCanvas canvas = new GLCanvas();
    j'ai l'erreur décrite dans mon premier post.

    Je n'ai pas touché à la variable d'environnement PATH.

    J'espère avoir été plus clair,

    Merci.

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    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 818
    Par défaut
    Je n'ai pas l'habitude de télécharger les fichier JOGL sur le site de Jogamp, mais ça revient au même...

    Dézippe ton fichier jogl-natives-windows-i586.jar, tu vas obtenir tout un tas de dll. Tu les déplaces (ou copies/colles), dans un répertoire présent dans ton PATH (plus propre)... ou directement dans le répertoire bin de ton JRE (moins propre, mais ça fonctionne aussi. Attention dans ce cas à bien choisir celui qu'utilise netbeans surtout que tu en as deux d'installés, ton JRE, et le JRE du JDK)
    Tu peux enlever ce jar des librairies de ton projet netbeans ensuite

    Pour ton erreur ligne 44, il te manque la classe marquée dans le message d'erreur. Elle est dispo dans le fichier "nativewindow.all.jar". Attention, ce n'est pas une classe JOGL!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut
    Bonjour, merci encore de ton aide !

    Pour le problème de JRE, il faut aller voir le fichier netbeans.conf afin de voir le jdk et le jre qu'utilise netbeans.

    "netbeans_jdkhome" : Spécifie quel JDK (et sa JRE propre) lancera NetBeans. Utile si le JDK détecté par défaut ne vous convient pas.

    Du coup j'ai supprimé le dossier jre qui était hors du jdk.

    Ensuite j'ai dézippé le fichier jogl-natives-windows-i586.jar comme tu me l'as dit. Voici ma variable PATH :
    [plein de choses];M:\TravailPerso\jdk6Update20\bin;M:\TravailPerso\OpenGl\jogl-natives-windows-i586;
    Ce dernier dossier contient toutes les DLL : jogl_cg.dll, jogl_desktop.dll; jogl_es1.dll; jogl_es2.dll;jogl_gl2es12.dll.

    Je me suis ensuite intéressé à la variable d'environnement CLASSPATH qui n'existait pas chez moi.

    .;M:\TravailPerso\jdk6Update20\lib;

    Dans NetBeans, dans la partie Librairie Onglet Compile et Run j'ai bien les jar :
    M:\TravailPerso\OpenGl\jogl.all.jar
    M:\TravailPerso\OpenGl\jogl-demos-data.jar
    M:\TravailPerso\OpenGl\nativewindow.all.jar
    et j'ai enlevé le jar jogl-natives-windows-i586.

    De plus à partir du même site j'ai téléchargé le jar : nativewindow.all.jar et cette fois ci j'ai une nouvelle erreur qui est :
    run:
    Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil
    at javax.media.opengl.GLProfile$1.run(GLProfile.java:811)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:808)
    at javax.media.opengl.awt.GLCanvas.<clinit>(GLCanvas.java:78)
    at opengl.Article1.main(Article1.java:45)
    Caused by: java.lang.ClassNotFoundException: com.jogamp.common.jvm.JVMUtil
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 5 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    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 818
    Par défaut
    Citation Envoyé par Sango64 Voir le message
    De plus à partir du même site j'ai téléchargé le jar : nativewindow.all.jar et cette fois ci j'ai une nouvelle erreur qui est :
    run:
    Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil
    manque gluegen-rt.jar... dans la foulée, je pense qu'il va te manquer les dll gluegen qui vont avec, donc à télécharger également.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

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

Discussions similaires

  1. [NetBeans] Galère avec opengl
    Par agrosjea dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 07/07/2009, 06h16
  2. Directx ou opengl
    Par scorpiwolf dans le forum DirectX
    Réponses: 13
    Dernier message: 07/02/2003, 08h29
  3. OpenGL et *.3ds
    Par tintin22 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/05/2002, 13h51
  4. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48
  5. Opengl -- Les surfaces
    Par Anonymous dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/05/2002, 10h14

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