knakos wrote:I don't see why one has to go through OpenGL to get the image stretched properly to fullscreen. As I see it this is a 2D-2D operation and relying on (potentially) 3D APIs does not feel right. There are still ways to do 2D gfx properly, as scummvm demonstrates with SDL.
Of course, supporting arbitrary scalers or not in scummvm is another issue, given especially the complexity of an arbitrary upsampling/downsampling filter. Complexity in terms of computational complexity but also in terms of image processing algorithms. Fortunately though, we could use resampling filter kernels from other open source projects (VirtualDub comes to mind).
opengl stands for open graphics library, it doesn't have to be 3d, it just accelerates the whole thing. stretching an image to a non integer size (especially if you want it to look good with linear/cublic interpolation) takes up a lot of cpu cycles, especially with something large like comi at 3x. essentially by using opengl though sdl you are uploading the surface to a texture, like you normally would (uploading small chunks of data is possible for dirty rectangle updating, zsnes uses it for a fact), its just that you get to stretch it to whatever size you want without a performance impact.
eriktorbjorn wrote:That sounds overly optimistic to me. I've encountered several OpenGL applications where I've gotten nothing but a white window instead of the intended graphics, and they were probably running at 640x480 or 800x600 or something like that. I would guess the textures they were using were still a lot smaller than 2048x2048.
now thats an old card
that actually sounds to me like texture compression which isn't supported / texture bitdepths, but even then you can retrieve the max texture size from opengl and make the textures fit, its not a guessing game.
and i don't know if its worth the trouble, it depends on scummvm's current infrastructure, personally i think the current system is fine but an opengl implientation would be the sugar on top.