如何使用OpenGL C / C ++显示实时串口数据

时间:2013-03-04 08:34:21

标签: opengl serial-port video-streaming

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

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

我已完成数据接收和帧重组部分但我不知道显示部分如何工作。 任何人都可以告诉我如何做到这一点?...

1 个答案:

答案 0 :(得分:0)

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

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

    display();
}

根据我对您的问题的理解,您希望在屏幕上显示栅格数据。在这种情况下,实例化连续内存缓冲区中的数据,创建它的纹理并在覆盖整个屏幕的四个或两个三角形上呈现它。