javax.media.OpenGL.glu.glu.getCurrentGL上此线程上没有当前的OpenGL上下文
几个月前,当我开始为“GL2 gl”学习Opengl(JOGL)时,我遇到了类似的问题。。。。然后我发现了如何求解(应该从display/init方法中调用与“gl”相关的所有内容) 一段时间后,我还需要使用“GLU-GLU”(用于GLU2D)。因此,这个问题再次出现。但是我们可以说这并不是什么大问题,因为尽管出现了这个错误,程序仍然运行良好 不幸的是,现在这个问题似乎有一些恼人的影响。。所以我真的很想解决它 下面是一些代码:javax.media.OpenGL.glu.glu.getCurrentGL上此线程上没有当前的OpenGL上下文,opengl,exception,glu,openglcontext,Opengl,Exception,Glu,Openglcontext,几个月前,当我开始为“GL2 gl”学习Opengl(JOGL)时,我遇到了类似的问题。。。。然后我发现了如何求解(应该从display/init方法中调用与“gl”相关的所有内容) 一段时间后,我还需要使用“GLU-GLU”(用于GLU2D)。因此,这个问题再次出现。但是我们可以说这并不是什么大问题,因为尽管出现了这个错误,程序仍然运行良好 不幸的是,现在这个问题似乎有一些恼人的影响。。所以我真的很想解决它 下面是一些代码: ... GLU glu = new GLU(); public v
...
GLU glu = new GLU();
public void display(GLAutoDrawable gLAutoDrawable) {
...
// map a 2D bild width*height on OpenGL
glu.gluOrtho2D(-width/2, (width+1)/2, -(height+1)/2, height/2);
}
有趣的是:
- 我在显示器上还有其他glu调用,比如“glu.gluLookAt(0,0,1,0,0,0,-1,0);”我从来没有遇到过问题
- 只有当我从另一个线程调用刷新(“glcanvas.display”)时,才会发生这种情况
- 我已经做了很多尝试,比如每次在显示中初始化它,或者使用以下命令强制上下文:
glu = new GLU(); gLContext = gLCanvas.getContext(); gLContext.makeCurrent();
在javax.media.opengl.glu.glu.glu.gluOrtho2D(glu.java:1344)中,我尝试在glu.gluOrtho2D之前移动getContext和makeCurrent,结果成功了