SDL2-合并前后缓冲区?

时间:2018-12-05 18:19:44

标签: sdl-2 blending double-buffering

我正在使用双缓冲渲染带有闪烁对象(通常为30Hz)的图像。对于屏幕截图,我想将当前缓冲区和前一个缓冲区混合在一起,而不必永久存储前一个缓冲区。

我将如何访问SDL2当前的前后缓冲区并将它们混合到一个缓冲区中?

1 个答案:

答案 0 :(得分:0)

摘自SDL_RenderPresent文档:

  

每次出现后,应将backbuffer视为无效;不要假定先前的内容将在帧之间存在。

原因可能是每个后端的处理方式都不同,因此SDL无法保证在缓冲区显示后它所包含的内容(不会造成不必要的性能损失)。

因此,您必须自己存储以前的缓冲区。就是说,您可能不必每次都复制缓冲区,只需对要截屏的帧进行复制即可。