When I play games in DOSBox on an LCD monitor, I use output=opengl because it implements a hardware stretch that automatically applies bilinear filtering. This gives a softer appearance that is evocative of the CRT monitors that the games were meant to be played on. It also allows games to be run in arbitrary resolutions (such as my native LCDs' resolutions of 1920x1200) and still looks good even when aspect ratio correction is being performed.
It appears that ScummVM, however, unfortunately offers only two categories of scaling:
nearest-neighbor / sharp pixelated stretching: I find that this looks too crisp and harsh on LCD monitors, which is nothing at all like how it looks on an old CRT monitor.
Fancy scalers (SAI/Eagle/HQx/etc.): The entire purpose of these is to make things look more crisp and detailed instead of soft and authentic, which often means adding artifacts and other interpretations that are undesirable.
Does ScummVM really not support bilinear-style filtering/scaling?
Thanks for the tip. I tried both of the ScummVM daily builds (buildbot and Kirben), and while they both had additional OpenGL options, neither seemed to perform bilinear filtering using any of them.
It's almost like ScummVM was either performing its normal software scaling before rendering to OpenGL, or else it's using a non-filtered hardware stretch like DOSBox's output=openglnb (versus output=opengl).
HunterZ wrote:Thanks for the tip. I tried both of the ScummVM daily builds (buildbot and Kirben), and while they both had additional OpenGL options, neither seemed to perform bilinear filtering using any of them.
It's almost like ScummVM was either performing its normal software scaling before rendering to OpenGL, or else it's using a non-filtered hardware stretch like DOSBox's output=openglnb (versus output=opengl).