residualvm/residualvm — pull request #1080 by Botje (2014-08-29 21:54:54+00:00)
Title: RFC: Fullscreen rendering with configuratioble aspect ratio

This is my proposal to enable ResidualVM to work on monitors/drivers/OSes that no longer allow switching to 640x480.
In the shader-based renderer (and only there, for now), the game is first rendered to a framebuffer and later pushed to the screen.
You can configure how this is done using the `fullscreen_mode` parameter per-game.

There are four options.
Assuming your desktop resolution is 1920x1080, and the game wants a 640x480 window, these are:
* `native`: This is the current way of rendering, 640x480 resolution, no framebuffer.
* `center`: The game is rendered as a 640x480 rectangle in the center of your 1920x1080 display.
* `scale`: The game is rendered to 640x480 and scaled up to an integer multiple that still fits. For the given resolutions, a 1280x960 rectangle in the center of your 1920x1080 display.
* `stretch`: The game is rendered at 640x480 and stretched to fill your 1920x1080 display.

If you think this approach could work, I'll look into expanding it to use [GL_EXT_framebuffer_object](https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt) for OpenGL 1.4.