В моем понимании SDL2 и общего программирования приложений рендеринга SDL2 спроектирован так, что вы каждый раз рисуете полный кадр, то есть вы очищаете свое "текущее окно" либо с помощью вызовов API OpenGL
glClearColor(0, 1.0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
, которыеочищает текущий контекст OpenGL, т. е. буфер кадров, которого у вас будет 2, или с помощью средства визуализации SDL2, с которым я не знаком.Тогда вы бы поменялись местами и повторили.(Что идеально подходит для этого архитектурного предложения, на которое я полагаюсь )
Так что либо вы должны будете как-то воспроизвести команды рисования из вашей библиотеки для второго кадра, либо вы также можете отключитьдвойная буферизация кадров, по крайней мере для бэкэнда OpenGL, по
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0);
(Для другого кода установки OpenGL SDL2 см. этот репозиторий GitHub с моим общим вспомогательным классом