我想知道在C / C ++中是否可以启动应用程序并获取其标准视频输出?
这样做的目的是获取应用程序的缓冲区,并将其用作具有特殊纹理坐标的顶点网格的纹理(以便在FullDome中投影)?
我正在Linux下开发。
答案 0 :(得分:2)
理论上,它是可能的。是使用OpenGL的其他应用程序吗?或者只是任何X11应用程序?
如果只是一个X11应用程序,您需要执行合成管理器所做的事情,即使用COMPOSITE X扩展来获取窗口内容,然后处理它们。
如果只是一个OpenGL应用程序,您可以修改它,您可以使用FBO将所有内容绘制到纹理,并使用共享内存(SHM)与其他应用程序共享纹理数据。