最近、ゲームエンジンが進行中で、OpenGLエラーが起こらないようになっています。いくつかのフレームをレンダリングした後、突然、私はglColorからエラーを取得を開始:glColor、glMatrixModeが "Invalid operation"エラーを不思議にして返す
print(gl.GetError()) --> nil
gl.Color(1, 1, 1, 1)
print(gl.GetError()) --> INVALID_OPERATION
私はここにglColorを呼び出さない場合は、私は後でglMatrixModeから無効な操作エラーが発生します。
GLマニュアルによると、glColorは決してエラーを発生させるべきではなく、glBeginとglEndの間にある場合にのみglMatrixModeが発生します。これらの機能が私が気付いていないエラーを発生させる他の理由はありますか?多分レンダーからテクスチャ/レンダバッファ拡張に関連するでしょうか?私は怒っているようなデバッグをしていますが、そのような失敗の原因となるものは見つけられません。プログラム全体が少し大きすぎてここに投稿するのは複雑です。これは、OpenGL APIとSDLの周りの薄いラッパーであるluaglを使用しています。報告されたバージョンは次のとおりです:2.1 Mesa 7.10.2
OpenGLコンテキストはコンテキスト間を移動しても問題ありません。スレッドを作成するためのOpenGLコンテキストの制限はありません。コンテキストの移行をアンバインドして再バインドするだけで済みます。 – datenwolf
@datenwolfありがとう、私の答えを編集しました。 –
私はそれをやっていませんが、GLコンテキストをどうにか失っている可能性はありますか? – Rena