我正在编写一个从COM3读取串行数据的C程序(这些数据实际上是视频帧流的像素强度);一旦完全接收到一帧,程序重新组装帧并使用OpenGL显示它;下一帧到来,显示下一帧。 (所以最后它看起来像一个视频)
对我来说,似乎我需要一个线程来接收数据和另一个要显示的线程?由于程序不能停止接收数据。
我已完成数据接收和帧重组部分但我不知道显示部分如何工作。 任何人都可以告诉我如何做到这一点?...
答案 0 :(得分:0)
不,您不必在不同的线程上执行此操作。考虑这个伪代码:
while (true) {
if (data_present())
read_data();
display();
}
根据我对您的问题的理解,您希望在屏幕上显示栅格数据。在这种情况下,实例化连续内存缓冲区中的数据,创建它的纹理并在覆盖整个屏幕的四个或两个三角形上呈现它。