GameScreen
ゲームをレンダリングするクラスがあります。ただし、ゲームのレンダリングを開始する前に、ファイルを読み取って初期化する必要があり、これには時間がかかります。
したがって、時間を費やして同時にファイルを読み取り、 my の初期化プロセスを実行するために、Screen
呼び出された別のクラスを表示/レンダリングする必要があります。初期化が完了したら、 を呼び出して画面を変更します。LoadingScreen
GameScreen
setScreen(gameScreen)
この同時作業を行うにはスレッドを使用する必要があります。問題は、スレッドを使用してファイルを読み取って初期化する場合です。GameScreen
openGlに切り替えると、次のエラーが表示されます。
javax.media.opengl.GLException: Error: no OpenGL buffer object appears to be bound to target 0x8892
at com.sun.opengl.impl.GLBufferSizeTracker.setBufferSize(GLBufferSizeTracker.java:118)
両方のスレッドが同時にグラフィック リソースを使用するわけではないことを認識しています。
Mesh
問題の原因はesであることがわかりました。イニシャライザ スレッドでメッシュを初期化し、メイン スレッドでレンダリングすると、このエラーが発生します。しかし、私はそれを解決する方法がわかりません。
この問題を解決するためのアイデアはありますか?