メインループをメインスレッドに保ちながら、計算をセカンダリスレッドに入れたいです。
たとえば、テクスチャを変更して OY の周りを回転する立方体が必要です。キューブの回転は、カメラを回転させるアイドル機能によってサポートされています。しかし、テクスチャの計算が複雑すぎて時間がかかるため、単純にアイドル状態にすることはできません (キューブが回転するたびにテクスチャを変更する必要はありません)。いくつかの計算処理を行い、テクセル バッファを作成し、別のスレッドで立方体の新しいテクスチャを設定するfoo関数を使用できますか? main関数のこのコードは、回転するキューブのテクスチャを変更しません。
glutIdleFunc(idle);
boost::thread_group tgroup;
tgroup.create_thread(boost::bind(&foo));
glutMainLoop();
tgroup.join_all();
また、別のスレッドで新しいテクスチャを設定すると、同時実行の問題がありますか?