die Frage mag ja eher dumm sein, aber ich krieg jogl nicht zum laufen ;-). Hab diverse Tutorials im internet gefunden; abgesehen davon dass die meisten schon ziemlich alt sind, ändern sich die Download-Links andauernd und generell ist die Informationslage nicht allzu toll.
Ich benutze Eclipse (galileo) und Win 7 64-bit. Was muss ich da machen, damit das läuft? Hab z.B. probiert, jogl.jar unter "add external jars" bei eclipse hinzuzufügen; dann wurde zumindest keine Fehler mehr im Quelltest angezeigt. Alternativ jogl.jar ins jre/lib/ext-Verzeichnis, ging auch. jogl.dll dann ins jre/bin-Verzeichnis oder alternativ in den Eclipse-Projektordner. Alternativ zu diesen Dateien auch noch andere (siehe hier:JOGL Example – Tutorial, habe das gemacht was der da beschreibt). Aber nichts funktioniert, und die Fehlermeldung ist IMMER:
Java:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
at java.lang.ClassLoader.loadLibrary(UnknownSource)
at java.lang.Runtime.loadLibrary0(UnknownSource)
at java.lang.System.loadLibrary(UnknownSource)
at net.java.games.jogl.impl.NativeLibLoader$1.run(NativeLibLoader.java:60)
at java.security.AccessController.doPrivileged(NativeMethod)
at net.java.games.jogl.impl.NativeLibLoader.<clinit>(NativeLibLoader.java:46)
at net.java.games.jogl.impl.GLContext.<clinit>(GLContext.java:51)
at net.java.games.jogl.impl.windows.WindowsGLContextFactory.createGLContext(WindowsGLContextFactory.java:52)
at net.java.games.jogl.GLCanvas.<init>(GLCanvas.java:68)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:117)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:80)
at HelloWorldWindow.main(HelloWorldWindow.java:46)
Du solltest nie Teile von jogl ins jre oder windows Verzeichnis kopieren, das gibt später immer stress. Ob 32 oder 64Bit hängt auch von der jvm ab, Du brauchst die 64Bit Version nur, wenn Du auch ein 64Bit Java verwendest.
Beim Einbinden kannst Du Dich z.B. hieran orientieren. Die 64Bit Version ist die ?-windows-amd64.jar. Zum Setzen der Pfade siehe z.B. hier.
Tjo aber ich hab 64bit-java und hab ja eigentlich auch genau das gemacht, was in diversen Tutorials beschrieben wurde (wobei da bei einigen durchaus auch empfohlen wurde, jar-Dateien ins jre/lib/ext-Verzeichnis zu kopieren ;-) ), Danke für die Links, werds mal ausprobieren..
Tja.. also ich hab genau das gemacht was auf den beiden Seiten beschrieben wird, aber es scheitert schon daran, dass im Sourcecode die imports (javax.media.opengl.*) nicht gefunden werden..
Hab dann auch das hier ausprobiert: JogampWiki . Die notwendigen zips runtergelanden, entpackt, wie beschrieben "user libraries" angelegt, diese dem Projekt hinzugefügt.. immerhin wird der Code nun kompiliert und die exports werden gefunden, aber es kommt immer noch die Meldung "Exception in thread "main" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path". Und das sowohl mit einer kompletten 32bit-Version (jdk und jogl und gluegen) als auch mit 64 bit.. grummel.
Unterscheidet sich die aktuelle sehr dramatisch von der von 2004, oder ist der Code, der auf der alten Version basiert, auch mit der aktuellen Version lauffähig? Dann wäre ich mit der alten Version erstmal zufrieden.. ich brauche vorerst keine OpenGL-Features, die über 1.3 hinausgehen.
Tja.. also ich hab genau das gemacht was auf den beiden Seiten beschrieben wird, aber es scheitert schon daran, dass im Sourcecode die imports (javax.media.opengl.*) nicht gefunden werden..
ich habe mir das gerade mal angesehen. Das liegt daran, das die gluegen-rt.jar, jogl.all.jar, nativewindow.all.jar und newt.all.jar seitens jogamp wohl zurzeit falsch gebaut werden. In diesen jars befindet sich zurzeit lediglich jeweils ein gleichnamiges jar das den eigentlichen Inhalt trägt. Also z.B. in jogl.all.jar liegt die eigentliche jogl.all.jar. Entpackst Du diese erste ebene, dann geht es (bei allen 4 jars, Rest wie im Link).
Unterscheidet sich die aktuelle sehr dramatisch von der von 2004, oder ist der Code, der auf der alten Version basiert, auch mit der aktuellen Version lauffähig? Dann wäre ich mit der alten Version erstmal zufrieden.. ich brauche vorerst keine OpenGL-Features, die über 1.3 hinausgehen.
Also, ich würde die Version, die dort verwendet wird, nicht nutzen. Imho sollte man entweder die 1.1.1a oder die jeweils aktuelle von jogl2 nehmen. Kompatibel ist der Code zwischen den Versionen auch nicht, wenn auch ggf. anpassbar.
Danke für den Hinweis, werds demnächst mal ausprobieren.
Der eigentliche OpenGL-Code wird schon kompatibel sein (der ist ja jogl-unabhängig), und die Struktur scheint auch die gleiche (mit dem GLEventlListener), oder? Als fürs erste komm ich aus mit der alten Version.. ist eh nur ein banales Hobbyprojekt ;-)