libGDXゲームエンジンを使い始めています。この例をコピーして実行しようとしました。Androidアプリケーションとしては問題なく実行されますが、Javaアプリケーションとして実行したい場合は、次のエラーがスローされます。
スレッド"Thread-2"の例外javax.media.opengl.GLException:javax.media.opengl.GLException:メソッド"glActiveTexture"は使用できません
たぶんあなたはこの行を変更する必要があります:GL10 gl = Gdx.graphics.getGL10();
にGL20 gl = Gdx.graphics.getGL20();
。公式のOpenGLドキュメントによると:
glActiveTextureは、GLバージョンが1.3以上の場合、または引数GL_EXTENSIONSで呼び出されたときにglGetStringによって返される文字列にARB_multitextureが含まれている場合にのみサポートされます。
違いは、WindowsがデフォルトでOpenGL 1.1コンテキストを提供し、拡張機能(つまりglActiveTextureARB()
、Java OpenGLが使用しない可能性がある)を介してすべての追加機能のみを提供するという事実にある可能性があります。
このエラーが発生しました。GLView(またはGLバージョンを表示する他のプログラム)は、私の現在のOpenGLが1.1であり、このメソッドが1.3以降でのみ使用されていることを示しています。私のソリューションは、Windows Updateでドライバーを更新することを目的としています(私のドライバー-ATI TechnologiesInc.のATIradeon用ドライバー更新)。バージョン3.0にアップデートした後は、すべて問題ありません。