Is JOGL restricted to one thread?
いいえ、JOGL 自体は 1 つのスレッドにバインドされていません。AWT GLCanvas のみです。後者は、その GLAutoDrawable 実装の 1 つです。AWT GLCanvas は、AWT EDT で実行するためにネイティブ リソースの操作が必要な AWT 自体が原因で制限されています。
How to work with JOGL lock free?
「ほぼ」ロックなしで動作するには、 NEWTを使用できます。NEWT を使用すると、複数のスレッドから複数のウィンドウをレンダリングできますが、相互にブロックすることはありません..干渉などもありません。また、NEWT イベント処理はレンダリングに干渉しません。
Example of multithreading use
OpenGL のマルチスレッド使用の別の例 (JOGL を使用するかどうかに関係なく) は、共有オフスクリーン OpenGL コンテキスト [オンスクリーン コンテキストを使用] を保持する専用スレッドからテクスチャまたはその他の GL 関連リソースを埋めることです。専用スレッドは、レンダリング ループに利用可能なリソースなどを知らせることができます。多くのドローアブル ファクトリ メソッドが公開されている GLDrawableFactory を見てください。Note: offscreen mode can be selected via the GLCapabilities.
You may like to browse through out unit tests in one of thegit repos.
Pls check class 'TestGLAutoDrawableGLWindowOnOffscrnCapsNEWT' and
shared OpenGL context tests include the name 'Shared'.