1

ゲームの開始時にモデルなどをロードしていますが、時間がかかるため、ロード中に空の黒い画面が表示されます。

したがって、私がやりたいのは、すべてのモデルの読み込みと表示リストの作成を1つのスレッドに入れ、もう1つのスレッドでいくつかの読み込みを行う(レンダリングする)ことです。OpenGLはマルチスレッドではうまく機能せず、OpenGLコマンドは1つのスレッドからしか呼び出せないことを知ったので、元のスレッドソリューションは機能しません。両方のスレッドがOpenGLコマンドを呼び出すことができる必要があります:レンダリングとディスプレイリストの作成。

誰かがこれに対する簡単な解決策を(よく知っている)知っていますか?例との良いリンクで十分です。

4

1 に答える 1

2

GLコマンドの解釈のモデルはクライアントサーバーであることを覚えておく必要があります。つまり、プログラム(クライアント)がコマンドを発行し、これらのコマンドはGL(サーバー)によって解釈および処理されます-(仕様から取得)。

したがって、両方のスレッドからコマンドを簡単に送信できます。これは問題ありません。しかし、マルチスレッドで遊ぶことにより、自分が何をしているのかわからない場合、ワームの大きな可能性のある缶を開くことになります。

ロードするときは、ロード画面を作成し、いくつかのリソースがロードされたときにそれを更新します。すべてが超完璧な解決策を必要とするわけではありません-特にこのようなマイナーなことではありません:)

于 2012-04-18T21:54:24.923 に答える