我有一个 C++ Open GL 应用程序,它呈现动画显示,并使用 glReadPixels() 捕获帧缓冲区内容,然后将其存储为一维字符数组。
我可以获取缓冲区内容并将其保存到 char 数组中,如下所示:
char * values = (char *) malloc(width * height * 4 * sizeof(char));
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, values);
然后我使用套接字通过网络发送这些原始数据,这对我来说不是问题。我有一个 Qt 桌面客户端(它使用套接字与 OpenGL 应用程序通信)
此客户端程序可以成功接收 Open GL 应用程序发送的原始二进制数据。
如何在我的客户端应用程序中从这些二进制数据中渲染图像?Qt 是否有任何内置函数/库来从二进制数据(由 glReadPixels 生成)绘制图像?
在通过套接字发送它们之前,我是否需要将这些原始二进制数据编码/解码为 base64 类型?为什么或者为什么不?