私はIMUからセンサーデータを読み込み、それに応じて角度を更新しようとしています。私はセンサーデータファイルを開き、行ごとに読み込み、四元数を回転に変換してからモデルを更新します。問題は、whileループからglutPostRedisplay()を呼び出すと、glutPostRedisplay()がパラレルで動作している間にループが継続することです。これにより、すべてが即座に発生するように見えます。私がしたいのは、ディスプレイが更新されるまでプログラムを強制的に停止させることです。OpenGL:ファイルを読み込むwhileループからglutPostRedisplay()を呼び出す
ファイルを常に開いたり閉じたり、ファイルの場所を把握したくないため、これを行う別の方法は考えられません。私はただ行を読んで処理してから、OpenGLにレンダリングを強制して、次の行などを読むのは簡単でしょう。
誰か提案がありますか?
注:現在、whileループは、レンダリングできる時間までに完全に実行されます。 glutPostRedisplay()の直後にglutSwapBuffers()を使用しようとしました。
なぜ寝るだけではないのですか?ビデオドライバからのブロックに頼っているのは良い考えではありません。 –