我有一个大小为 800x600 的 OpenGL 应用程序在我的 Linux 机器 (X11) 上运行。该应用程序的内容(渲染的图像)应通过网络导出到另一台电脑。
首先,我想知道是否可以以大约 30 Hz 的频率拍摄应用程序窗口的快照,将它们保存为 jpeg 并通过 HTTP 或其他方式将它们导出到另一台机器(就像 IP 摄像机所做的那样)。是否可以快速读取显卡内存(Radeon HD 5800),以便我可以获得每秒约 30 张图片的帧速率?
如果您愿意容忍一些延迟像素缓冲区对象 (PBO) http://www.songho.ca/opengl/gl_pbo.html#pack应该会给你带来一些不错的回读吞吐量。
libjpeg-turbo http://libjpeg-turbo.virtualgl.org/看起来是高速 JPEG 编码的一个很好的解决方案。
如果您没有要监视的应用程序的源代码LD_PRELOAD hacks http://blog.smr.co.in/linux/graps-capture-opengl-frames/与上述相结合应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)