所以我发现这有趣file (ref to it I found in here)。很遗憾
还要使用OpenGL来抓取屏幕并且速度非常快的glGrab。
所以我想我们可以使用像SDL这样的openGL包装器在Windows和Linux上通过openGl获取desctop屏幕框架吗?
答案 0 :(得分:2)
OpenGL可以(轻松,快速,直接)获取它拥有的前/后缓冲区,并且您拥有的有效上下文。
换句话说:不。
桌面不归OpenGL所有。在Windows下,它由Vista之前的驱动程序和Vista / 7下的窗口管理器管理。这里你需要BitBlt
功能,既不便携也不快
在Linux下,桌面可能至少有时确实属于OpenGL(合成窗口管理器),但是你没有上下文句柄。
如果您可以将您的要求从“桌面”减少到“我的窗口内容”,那么一切都变得非常简单。在最简单的情况下,它是一个函数调用,如果你想与DMA异步,它还需要3-4个。