数か月前に「GL2gl」でOpengl(JOGL)を学び始めたときに、同様の問題が発生しました。その後、解決方法を発見しました(「gl」に関係するものはすべて、ディスプレイ内から呼び出す必要があります/ initメソッド)。
しばらくして、「GLU glu」(gluOrtho2D用)も使用する必要がありました。したがって、この問題が再び発生しました。しかし、このエラーにもかかわらずプログラムは正常に実行されていたので、それほど大きな問題ではなかったとしましょう。
残念ながら、今この問題はいくつかの厄介な影響を及ぼしているようです..だから私は本当にそれを解決したいと思います。
ここにいくつかのコードがあります:
...
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.gluLookAt(0、0、1、0、0、0、0、-1、0);」のような他のglu呼び出しが表示されます。そこに問題が発生したことはありません
別のスレッド( "glcanvas.display")からリフレッシュを呼び出した場合にのみ発生します
ディスプレイで毎回初期化する、またはコンテキストを強制するなど、すでに多くの試みを行いました。
glu = new GLU(); gLContext = gLCanvas.getContext(); gLContext.makeCurrent();
しかし、これまでのところ何も機能していません。
スレッド"AWT-EventQueue-0"の例外javax.media.opengl.GLException:javax.media.openglのjavax.media.opengl.glu.GLU.getCurrentGL(GLU.java:175)で、このスレッドに現在のOpenGLコンテキストがありません.glu.GLU.gluOrtho2D(GLU.java:1344)