jdf / peasycam

Dead-simple mouse-driven camera for Processing
http://MrFeinberg.com/peasycam/
Apache License 2.0
116 stars 35 forks source link

HelloPeasy doesn't run on OSX 10.9.2 #16

Closed rjduran closed 10 years ago

rjduran commented 10 years ago

It looks like the current version of the library doesn't run on OSX 10.9.2 with Processing 2.1.1.

java.lang.NoSuchMethodError: javax.media.opengl.GLDrawableFactory.initSingleton()V at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1573) at javax.media.opengl.GLProfile.access$100(GLProfile.java:76) at javax.media.opengl.GLProfile$1.run(GLProfile.java:155) at java.security.AccessController.doPrivileged(Native Method) at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:123) at javax.media.opengl.GLProfile.getProfileMap(GLProfile.java:2070) at javax.media.opengl.GLProfile.get(GLProfile.java:906) at javax.media.opengl.GLProfile.getGL2ES1(GLProfile.java:797) at processing.opengl.PJOGL.initSurface(PJOGL.java:250) at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:6244) at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1625) at processing.core.PApplet.run(PApplet.java:2177) at java.lang.Thread.run(Thread.java:744)

jdf commented 10 years ago

Steps to reproduce?

When I download the latest Processing distribution and install PeasyCam through the library installer, and run the HelloPeasy example program, it works fine for me on OS X 10.9.2.

rjduran commented 10 years ago

I did the same. Import Library > Add Library > Peasycam Load HelloPeasy Example Run

It does run if I don't call any methods.

import peasy.*;

PeasyCam cam; void setup() {
} void draw() { }

Debugging further leads me to think its something with OpenGL and the Processing size() method. I get the same error with this example,

size(150, 200, P3D); // Specify P3D renderer background(153);

// With P3D, we can use z (depth) values... line(0, 0, 0, width, height, -100); line(width, 0, 0, width, height, -100); line(0, height, 0, width, height, -100);

//...and 3D-specific functions, like box() translate(width/2, height/2); rotateX(PI/6); rotateY(PI/6); box(35);

rjduran commented 10 years ago

Resolved. It was similar to this issue: http://forum.processing.org/two/discussion/3201/n00b-nosuchmethoderror-javaopengl/p1 Apparently I had a folder at Library/Java/Extensions that was conflicting with the Processing renderer P3D.

Now it works.