Bilinear filtering/interpolation/scaling/smoothing?

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
HunterZ
Posts: 8
Joined: Sat Sep 18, 2010 1:22 am
Location: Seattle

Bilinear filtering/interpolation/scaling/smoothing?

Post by HunterZ »

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?
User avatar
tsoliman
ScummVM Developer
Posts: 404
Joined: Wed Jan 19, 2011 3:47 pm
Location: USA

Post by tsoliman »

Not yet.
There's experimental functionality for exactly what you're looking for (OpenGL + bilinear filtering) in the daily builds.
HunterZ
Posts: 8
Joined: Sat Sep 18, 2010 1:22 am
Location: Seattle

Post by HunterZ »

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).
fuzzie
ScummVM Developer
Posts: 178
Joined: Mon May 24, 2010 3:02 pm

Post by fuzzie »

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).
Ctrl-alt-f toggles bilinear filtering.
HunterZ
Posts: 8
Joined: Sat Sep 18, 2010 1:22 am
Location: Seattle

Post by HunterZ »

fuzzie wrote:Ctrl-alt-f toggles bilinear filtering.
That works perfectly, thanks to both of you!

Is there any documentation of other hidden features in the dailies?
Post Reply