如何创建另一个仅用于保存图像的视口



我想创建两个视口。第一个是用来表现正常的。第二个选项仅用于保存图像,例如每一分钟保存一个新图像。怎么做呢?谢谢你~

有两种方法可以使用:

1)一个帧缓冲区(http://www.opengl.org/wiki/Framebuffer),它本质上是第二个帧,你可以做绘图调用。对framebuffer所做的任何渲染都会保存到内部纹理对象中,然后您可以抓取该对象并对其进行任何操作。作为旁注,你可以使用framebuffers来实现全屏效果(绽放,抗锯齿等)

2)然而,更有可能的是,您正在寻找glReadPixels (https://www.opengl.org/sdk/docs/man/html/glReadPixels.xhtml)。这是一个快速的函数调用,你可以做你完成绘图调用后,但之前,你交换出你的缓冲区(假设你绘制与双缓冲的上下文)。这个函数将从刚刚发出绘图调用的framebuffer中复制一组像素,并将它们以数组的形式提供给您,您可以再次做任何您想做的事情。这样做的好处是,你不必忍受创建第二个"视口"的麻烦(我想你指的是framebuffer?),你可以只复制像素从相同的framebuffer,你最终将显示给用户。

如果有任何问题请告诉我!

最新更新