SDL2 - объединить передний и задний буфер?

Я рендеринг изображений с мерцающими объектами (обычно 30 Гц) с использованием двойной буферизации. Для снимков экрана я хотел бы объединить текущий и предыдущий буферы без необходимости постоянного сохранения предыдущего буфера.

Как мне получить доступ к текущему переднему и заднему буферу SDL2 и смешать их в один буфер?

1 ответ

От SDL_RenderPresent документация:

Backbuffer следует считать недействительным после каждого подарка; не предполагайте, что предыдущее содержимое будет существовать между кадрами.

Возможно, причина в том, что каждый бэкэнд работает по-разному, и поэтому SDL не может ничего гарантировать о том, что содержится в буфере после его представления (без ненужного снижения производительности).

Таким образом, вы должны хранить предыдущий буфер самостоятельно. Тем не менее, вам, вероятно, не нужно каждый раз копировать буфер, просто сделайте это для кадра, для которого вы хотите сделать скриншот.

Другие вопросы по тегам