我正在编写一个 OpenGL 软件,它由 Linux 下的 C++ 中的 UART(在 Boost::asio 的帮助下串行)驱动。
我目前已完成接收和处理数据,并准备使用 OpenGL 将其可视化。这个问题可能不受OpenGL的限制,无论如何我的问题是:
如何从 UART 回调函数调用 OpenGL 绘图函数?
当然,我应该能够通过以下方式运行它:
- 使用任何 IPC(PIPE, socket, semaphore) 方法
- 将 OpenGL 绘图函数或其类作为变量传递给 UART 回调
- 把所有东西都放在一个班级里
我遇到了很多类似的案例,并以不同的方式实现。但我仍然无法弄清楚正确的答案是什么。
我个人不喜欢 PIPE 或文件 IO IPC,唯一剩下的选项是我一直在使用的套接字、信号量和共享内存。