1

我正在编写一个从 COM3 读取串行数据的 C 程序(这些数据实际上是视频帧流的像素强度);一旦完全接收到一帧,程序会重新组装该帧并使用 OpenGL 显示它;下一帧到来,显示下一帧。(所以最后它看起来像一个视频)

对我来说,似乎我需要一个线程来接收数据和另一个线程来显示?由于程序不能停止接收数据。

我已经完成了数据接收和框架重组部分,但我不知道显示部分是如何工作的。谁能给我任何线索如何做到这一点?...

4

1 回答 1

0

不,您不必在不同的线程上执行此操作。考虑这个伪代码:

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

    display();
}

根据我从您的问题中了解到的情况,您想在屏幕上显示栅格数据。在这种情况下,实例化连续内存缓冲区中的数据,创建它的纹理并将其渲染到覆盖整个屏幕的四边形或两个三角形上。

于 2013-03-04T08:55:08.280 回答