is Jogl2 any good? also, is it backwards compatible? can i import the JOGL2 jars instead of the normal ones and it’ll still work?
I’ve heard it’s also got a utility shader class. where can i get it if so?
JOGL2 is not backwards compatible but the changes are minor (almost only the initialization changed).
javadocs etc are linked on http://jogamp.org/jogl/www/
JOGL2 tutorials:
http://jogamp.org/wiki/index.php/Jogl_Tutorial
what kind of init differences?
The main differences are below:
// get the profile
GLProfile profile = GLProfile.getDefault();
// this allows us to set particular properties for the GLCanvas
GLCapabilities glCapabilities = new GLCapabilities(profile);
//instead of
GLCapabilities glCapabilities = new GLCapabilities();
final GL2 gl = GLContext.getCurrentGL().getGL2();
//instead of
final GL gl = GLContext.getCurrentGL();
Except that, the package names have changed, some packages have moved from com.sun to com.jogamp, it is quite trivial. Instead of using directly GL, lots of thing are in GL2, GL2GL3 or in another interfaces of this kind. Sorry for my approximative explanation.
JOGL 2 is good but it is still in beta, some things are broken.
yeah about when are we gonna get an actual release? all i can find are autobuilds. and will i really have to include ALL those JARs in my build path?
please read the tutorial. Its everything explained in there.
As bienator explained to you, all is explained there:
http://jogamp.org/wiki/index.php/Jogl_Tutorial
i tried out the first example on the tutorial site an got the exception
Exception in thread “main” java.lang.UnsatisfiedLinkError: com.jogamp.common.os.Platform.getPointerSizeInBitsImpl()I
at com.jogamp.common.os.Platform.getPointerSizeInBitsImpl(Native Method)
at com.jogamp.common.os.Platform.(Platform.java:65)
at com.jogamp.common.nio.Buffers.nativeOrder(Buffers.java:252)
at com.jogamp.common.nio.Buffers.newDirectByteBuffer(Buffers.java:67)
at com.jogamp.common.jvm.JVMUtil.(JVMUtil.java:58)
at javax.media.nativewindow.NativeWindowFactory.(NativeWindowFactory.java:102)
at javax.media.opengl.GLProfile.initProfiles(GLProfile.java:855)
at javax.media.opengl.GLProfile.access$000(GLProfile.java:59)
at javax.media.opengl.GLProfile$1.run(GLProfile.java:989)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.opengl.GLProfile.(GLProfile.java:987)
at test.main(test.java:10)
what’s wrong here
You should put gluegen-rt native file (.so, .jnilib or .DLL) into your Java library path, this is explained in the tutorial:
[quote]For now, you only need to be concerned with the native library location for each JAR in the jogl-2.0 user library. For each JAR:
* Click "Native library location" and then "Edit..." on the right.
* Select "External Folder..." and navigate to the same directory all the JAR files for JOGL are in. This should be the "lib" directory inside the location you extracted the JOGL files.
* Click "OK".
[/quote]
https://sites.google.com/site/justinscsstuff/jogl-tutorial-1
I do have the native lib locations set! but it still didn’t work!
P.S. maybe is the latest version broken? i’m gonna try an older version
Maybe some of your environment variables point to “old” binaries and/or “old” JARs. For example, you can obtain such UnsatisfiedLinkError if Java use the wrong gluegen-rt native library (JOGL 1.1.1a instead of JOGL 2).
i made sure they point to the new JARS. What DLL is this getPointerSizeInBitsImpl() method in anyways?
I assume it is in gluegen-rt.DLL
funny because the new gluegen-rt is the exact same size as the old one. also, where’s JOGL_cg.dll?
Ok now let’s try setting this up from the beginning.
??? It does not exist anymore in JOGL 2 as far as I know.
OK here is what i am doing. Created projects JARS_JOGL and natives_JOGL . extracted the latest JOGL zip for windows, and copied JARS into the root directory of my JARS project and native libs to the natives project. i created a project for the program itself. i added all of the JARS from the project to the build path. under the source tab, i edited the native library location to the native lib project. i pasted the code from the SimpleScene demo into the editor and ran it. and i get the exception. i’ve got a feeling that this Platform.getPointerSizeInBitsImpl() method is completely missing from JOGL.
If the method was missing, everybody would reproduce your bug. Maybe look at my own integration of JOGL 1.1.1a in my Eclipse project, it is going to work similarly when I switch completely to JOGL 2:
http://tuer.svn.sourceforge.net/viewvc/tuer/pre_beta/
I have a single Eclipse project that I can build even in command-line with Ant. I only use Ant to avoid your problems.
how does this ant setup work? i’ve used the above procedure with JOGL 1.whatever and jinput and it worked fine.
did my thread just die?