OpenGLドライバは通常、[マルチ]スレッドを許容しないことが知られています。 しかし、 がGLコンテキストを作成したメインスレッド(SDLなど)に対処する必要がありますか?もしスレッドが1つのスレッドを生成し、それ以降は からディスパッチOpenGLコマンドは安全ですか?または、 がGL コンテキストを起動したメインスレッドに限定されていますか?OpenGLとスレッド
4
A
答えて
6
OpenGLコンテキストを現在のスレッドで使用する必要があります。コンテキストは、一度に1つのスレッドでのみ最新のものにすることができます。だからコンテキストを作成し、別のスレッドからそれを使用して、それを最新のものにしても問題ありません。
OpenGLを使用する複数のスレッドでは、スレッドごとに1つずつ、複数のOpenGLコンテキストが必要です。また、OpenGLコンテキスト間でリソースを共有することもできます。
+0
今SDLがそうすることができるのだろうかと思います。 [当分の間、問題のスレッドによってGLコンテキストが開始されていた] [それ以外の場合は、驚くことではない] –
関連する問題
- 1. Android:いくつかのスレッドでOpenGL
- 2. 可能OpenGL ES 2.0スレッドの問題
- 3. OpenGLのスレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x0の)
- 4. OpenGLとCUDAの不一致最大スレッド数
- 5. OpenGLフォグとOpenGL ESフォグ
- 6. OpenGL ESとOpenGL互換シェーダ
- 7. タッチイベントとOpenGL描画。それらは別のスレッドで発生しますか?
- 8. iphoneの別のスレッドでOpenGL ESを使用するには?
- 9. 現在のスレッドでOpenGLコンテキストが見つかりません
- 10. OpenGLスレッドでAndroidダイアログインターフェイスを使用しますか?
- 11. 2番目のスレッドでのOpenGLリソースのロード
- 12. OpenGL計算シェーダでのスレッドの実行順序
- 13. Android NDK:android_main以外のスレッドでOpenGL描画呼び出し
- 14. 異なるスレッドからOpenGLグラフィックを描くには?
- 15. 別のスレッドでWPFでOpenGLエンジンを実行しています
- 16. 分離されたスレッド内のOpenGL読み込みリソース
- 17. OpenGL ES 2.0とOpenGL 4の違い
- 18. OpenGLとリモートデスクトップ
- 19. openGLとベクトル
- 20. レイキャスティングボクセルとOpenGL
- 21. MKOverlayViewとOpenGL
- 22. OpenGLとDirect3D
- 23. OpenGL FrameBufferとglViewport
- 24. glPushMatrixとOpenGL ES
- 25. フリーグルート、OpenGLとメモリ
- 26. OpenGLレイヤードレンダリングとレンダリングバッファ
- 27. EJBのスレッドとスレッド
- 28. JavaスレッドとOSスレッド
- 29. スレッドとスレッド開始
- 30. OpenGL ES 2.0とOpenGL 3との類似点と相違点
私はOpenGLがスレッドを区別し、コンテキストを作成したものだけを選択することはできませんが、今日のクレイジーHW加速ドライバでは分かりますか?編集:Err、明らかに以下に答えようとしている人。 – aib
@aib:実際にどのように動作するかはかなり簡単に分かります。コンテキストは、通常、スレッドローカルストレージに格納されます。 – Bahbar