1

COM3 からシリアル データを読み取る C プログラムを作成しています (これらのデータは、実際にはビデオ フレームのストリームのピクセル強度です)。1 つのフレームが完全に受信されると、プログラムはフレームを再構築し、OpenGL を使用して表示します。次のフレームが来たら、次のフレームを表示します。(最終的にはビデオのように見えます)

私には、データを受信するスレッドと表示する別のスレッドが必要なようです。プログラムはデータの受信を停止してはならないためです。

データの受信とフレームの再組み立て部分は完了しましたが、表示部分がどのように機能するのかわかりません。誰でもこれを行う方法の手がかりを教えてもらえますか? ...

4

1 に答える 1

0

いいえ、別のスレッドでこれを行う必要はありません。次の擬似コードを検討してください。

while (true) {
    if (data_present())
        read_data();

    display();
}

あなたの質問から私が理解したところによると、あなたはラスターデータを画面に表示したいと考えています。この場合、連続したメモリ バッファ内のデータをインスタンス化し、そのテクスチャを作成して、画面全体を覆うクワッドまたは 2 つの三角形にレンダリングします。

于 2013-03-04T08:55:08.280 に答える