SDL 独立于 window 更改视口的渲染大小

SDL change rendering size of viewport independent of window

我希望能够将其设置为 SDL 中的 1 个像素为 20x20 像素。如果我使用的是原始 OpenGL,我只需将视口大小更改为具有与 window 相同纵横比的较低分辨率。但是,似乎没有一种直接的方法可以使用 SDL2 执行此操作。

一种明显的方法是对所有绘制的像素和纹理应用缩放,但是这需要大量我认为没有必要的额外工作。

我怎样才能做到这一点?

您可以使用 SDL_RenderSetLogicalSize or SDL_RenderSetScale。这不会影响指针事件 (mouse/touch/...),您可能需要手动将它们转换为您的虚拟分辨率。