我正在Raspberrypi(Raspbian)的Processing
上编写一个程序,导入一个3D STL image
文件。它在微软(windows7)& Linux(Ubuntu)平台上完美工作,但我正努力在Raspberrypi(Raspbian)平台上运行相同的程序。java.lang.NoClassDefFoundError:javax/media/opengl/GLException at processing.opengl.PGraphicsOpenGL
我得到以下错误在size(600,600,P3D)
当我运行在树莓派这个程序...
Coding
import toxi.geom.*;
import toxi.geom.mesh.*;
import toxi.processing.*;
TriangleMesh mesh;
ToxiclibsSupport gfx;
void setup() {
size(600,600,P3D);
mesh=(TriangleMesh)new STLReader().loadBinary(sketchPath("check.stl"),STLReader.TRIANGLEMESH);
gfx=new ToxiclibsSupport(this);
}
void draw() {
background(51);
lights();
translate(width/2,height/2,0);
rotateX(mouseY*0.01);
rotateY(mouseX*0.01);
gfx.origin(new Vec3D(),200);
noStroke();
gfx.mesh(mesh,false,10);
}
Error
java.lang.NoClassDefFoundError: javax/media/opengl/GLException
at processing.opengl.PGraphicsOpenGL.createPGL(PGraphicsOpenGL.java:1744)
at processing.opengl.PGraphicsOpenGL.<init>(PGraphicsOpenGL.java:518)
at processing.opengl.PGraphics3D.<init>(PGraphics3D.java:37)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at processing.core.PApplet.makeGraphics(PApplet.java:1919)
at processing.core.PApplet.size(PApplet.java:1771)
at processing.core.PApplet.size(PApplet.java:1742)
at project5.setup(project5.java:27)
at processing.core.PApplet.handleDraw(PApplet.java:2361)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 15 more
是否安装上Raspian什么版本的处理(1.5.1,2.X等?)。你有没有尝试将渲染器设置为OPENGL('''size(600,600,P3D);''')?没有测试,我的猜测是有毒的libs'ToxiclibsSupport渲染器类依赖于OpenGL渲染器和更新版本的处理我认为P3D和OPENGL渲染器是合并的。试用1.5.1,希望它能起作用。如果不是,那还是不错的。如果你注释掉ToxiclibsSupport部分,假设代码将运行,如果是这种情况,也许你可以在没有它的情况下渲染(只需使用普通处理调用)。 – 2015-04-01 08:14:28
我在'Processing-2.2.1'上使用了这个命令'OPENGL(size(600,600,P3D);)',但是它给出了另一个错误'函数OPENGL(void)不存在。“ – 2015-04-01 13:16:56
对不起,我的意思是使用它这个:'''大小(600,600,OPENGL);''。尽管如此,它仍然可能会得到低级别的OpenGL错误。你可以尝试运行例子>演示>图形> LowLevelGL,并指出应用程序是否可以运行(如果没有,你会得到什么错误)? – 2015-04-01 13:26:12