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

  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 817
    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 817
    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 817
    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 817
    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 817
    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 817
    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

  7. #7
    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 de tes réponses, je vais tester ça lundi matin.
    J'aimerai savoir où tu trouves les jar/dll qu'il me faut en fonction des erreurs que j'ai car j'ai essayé de chercher sur google avant de poster mais je n'ai pas trouvé.

    Bon week end et merci encore.

  8. #8
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    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 817
    Par défaut
    Citation Envoyé par Sango64 Voir le message
    J'aimerai savoir où tu trouves les jar/dll qu'il me faut en fonction des erreurs que j'ai car j'ai essayé de chercher sur google avant de poster mais je n'ai pas trouvé.
    Je n'ai pas trop trouvé d'explications sur le site de jogamp pour l'installation (mais je n'ai pas trop approfondi non plus), donc il a fallu réfléchir un peu.

    En faisant une recherche google sur le package "com.jogamp.common.jvm" de ta dernière erreur, on tombe sur ce lien, où on peut en déduire que ça concerne gluegen. En allant ouvrir le jar gluegen-rt.jar, on voit que la classe en question est bien dedans, donc CQFD.

    En gros faut un peu fouiller dans le bordel du site jogamp!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  9. #9
    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
    En fait moi je tapais "com/jogamp/common/jvm/JVMUtil" sur google et non "com/jogamp/common/jvm" du coup il n'y avait pratiquement aucun site référencé.

    Merci beaucoup, j'essayerai d'être plus exhaustif dans mes recherches la prochaine fois.

    Je posterai lundi après avoir testé tout ça

    Bon week end.

  10. #10
    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,

    Quand il y en a plus, il y en a encore... J'ai une nouvelle erreur que je n'arrive pas à corriger.

    run:
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at javax.media.opengl.awt.GLCanvas.<clinit>(GLCanvas.java:78)
    at opengl.Article1.main(Article1.java:47)
    Caused by: javax.media.opengl.GLException: No profile available: [GL2, GL3bc, GL4bc, GL2GL3, GL3, GL4, GL2ES2, GLES2, GL2ES1, GLES1], GLAvailability[Native[GL4bc false, GL4 false, GL3bc false, GL3 false, GL2 false, GL2ES1 false, GLES1 false, GL2ES2 false, GLES2 false], Profiles[, default null]]
    at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:1008)
    ... 2 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    Ce que j'ai fait en plus :
    1] j'ai rajouté les jar suivant dans la compil du projet de netbeans :
    gluegen-rt.jar
    gluegen-rt-natives-windows-i586.jar
    newt.all.jar
    newt-natives-windows-i586.jar

    2] j'ai rajouté les dll suivante dans le bin de la jre :
    nativewindow_awt.dll
    gluegen-rt.dll
    newt.dll

    J'ai fais des recherches sur google, il y a des forums qui en parle mais je n'ai pas trouvé de solution.
    Avez vous une idée ?

    Merci pour votre aide.

  11. #11
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    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 817
    Par défaut
    Bon, ça commence à devenir un peu trop complexe ton installation là, c'est pas normal...

    Ce que je te propose... tu vires tout ce que tu as installé pour jogamp jusqu'à maintenant. Tout. dll et jar. Tu nettoies ton installation JDK/JRE de tous ces fichiers.

    Ensuite, tu vas récupérer le zip qui te concerne sur cette page (c'est celle des downloads du site officiel Jogl). Dans le zip, tu as les dll (ou les so pour les linuxiens... les osx et les solaris ont les leur aussi)) et les jar. Tu dézippes, tu mets les dll dans le bin du JRE, les jar en liens dans le projet netbeans...

    et tu retestes et tu nous dis.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  12. #12
    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
    ça y est !!!!!!!!!!! ça marche !!!

    Merci beaucoup pour ton aide qui m'a été bien précieuse

    Maintenant va falloir que je me trouve des bons tuto et c'est partie.

    Au plaisir.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Juste pour rappel, il ne faut aller chercher JOGL ni sur Kenai ni sur java.net mais sur le site officiel de la fondation JogAmp. JOGL 1 n'est plus maintenu donc vous devez passer à JOGL 2. Repasser à JOGL 1 quand on tombe sur un bogue dans JOGL 2 n'est pas une solution.

    De plus, il ne faut jamais mettre les modules natifs directement dans la JVM, c'est sale et cela peut causer pas mal de problèmes, c'est précisé dans le guide d'utilisation de JOGL.

    Notre site n'est pas un "bordel" et je prie les intervenants de faire preuve de respect envers nos contributeurs qui consacrent une partie de leur temps libre à ce projet communautaire. Plusieurs tutoriels pour JOGL se trouvent ici. Cordialement.

  14. #14
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    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 817
    Par défaut
    Citation Envoyé par gouessej Voir le message
    Juste pour rappel, il ne faut aller chercher JOGL ni sur Kenai ni sur java.net mais sur le site officiel de la fondation JogAmp. JOGL 1 n'est plus maintenu donc vous devez passer à JOGL 2. Repasser à JOGL 1 quand on tombe sur un bogue dans JOGL 2 n'est pas une solution.

    [...]

    Notre site n'est pas un "bordel" et je prie les intervenants de faire preuve de respect envers nos contributeurs qui consacrent une partie de leur temps libre à ce projet communautaire. Plusieurs tutoriels pour JOGL se trouvent ici. Cordialement.
    Juste pour resituer l'action, tu réponds à un post vieux de presque deux ans là...

    donc si, à l'époque, c'était le "bordel", terme à prendre au premier degré et ne pas chercher une quelconque insulte dedans. La preuve, c'est qu'il y a deux ans, nombreux étaient les posts pour appeler à l'aide pour installer JOGL. Il n'y a aucun manque de respect, c'est juste une constatation.

    Maintenant, soit on se chicane sur les termes (en temps réel, ça serait mieux), soit on prend ça en compte pour améliorer le site (ce qui a été fait depuis)... c'est vous qui voyez...


    Citation Envoyé par gouessej Voir le message
    De plus, il ne faut jamais mettre les modules natifs directement dans la JVM, c'est sale et cela peut causer pas mal de problèmes, c'est précisé dans le guide d'utilisation de JOGL.
    Et d'ailleurs je ne le fais pas chez moi!
    (d'ailleurs depuis, j'ai écrit ça)

    Mais quand rien ne marche...
    "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