After calling SDL_SetWindowSize
, the area being rendered to doesn't change with the window, so if the window gets bigger, it leaves a black area on the top and right sides. I am adjusting the OpenGL viewport to the new window dimentions. Everything I'm drawing scales correctly but is cut off when the window is bigger.
I've been searching for the solution all day and all I've found is creating a new OpenGL context, but that causes crashes unless I reload all my graphics data which seems ridiculous just to resize the window.
Is it the default framebuffer that needs to be resized? According to the OpenGL wiki,
All default framebuffer images are automatically resized to the size of the output window, as it is resized.
So if the default framebuffer is being resized, why is it only rendering to the same small area?
I could initialize it to the largest possible resolution and then shrink it, but wouldn't that cause OpenGL to process a bunch of fragments outside the window?
glBindFramebuffer(GL_FRAMEBUFFER, 0);
before the resize, in case that matters, but no change. I'm drawing the scene to the default framebuffer only, and I'm continually redrawing after the resize. I'd like to know if anyone who's played with SDL2/OpenGL has seen this before? And I'm on Linux, in case platform makes a difference. \$\endgroup\$