M-HT / SR

A project to statically recompile following games to create Windows or Linux (x86 or arm) versions of the games - Albion, X-Com: UFO Defense (UFO: Enemy Unknown), X-Com: Terror from the Deep, Warcraft: Orcs & Humans, Septerra Core: Legacy of the Creator, Battle Isle 3: Shadow of the Emperor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Albion: Disable bilinear filtering

Hlavoun opened this issue · comments

Thank you for supporting and enhancing my favourite game! When compared to my DOSBox setup, I have noticed that your renderer uses bilinear filtering, so the picture is somewhat blurred. DOSBox project addressed this by allowing the user to set the output to openglnb (does not use bilinear filtering), so the pixels are crisp. Would it be too much hassle to allow similar setting within SR?

I have prepared a little comparison.

This is the screenshot from the SR - fullscreen, resolution 1920x1440 for keeping correct aspect ratio on 2560x1440 monitor:

DOSBox screenshot - fullscreen, fullresolution=desktop, output=openglnb, aspect=true, scaler=none:

I have to say that I prefer the output from DOSBox, but the ability run the game directly in Windows with improved 3D rendering is too tempting :-) Thanks.

A big problem with integer scaling Albion is, that the game uses an anamorphic resolution, that needs to be horizontally squeezed to get the correct aspect ration of 4:3.

One solution would be to apply integer scaling and then remove a few vertical lines. In fact, when the games is set to 720x480 and you use the mouse wheel, this version already does this. One downside of this method is, that it will create visible patterns, especially when moving horizontally.

Another solution would be to multiply the vertical resolution by 9 and the horizontal resolution by 8. This way you get the correct aspect ration with integer scaling. However the resulting resolution would require a 4k screen without Enhanced 3D Rendering and an 8k screen with Enhanced 3D Rendering.
You could then use bilinear filtering to scale the image down to you target resolution. The resulting image would be slightly blurry, but still pretty sharp and you get the correct aspect ration without any patterns. The attached image shows what it would look like.
Albion Windows 2

Regarding the first solution - I believe this is exactly what DOSBox with aforementioned setting does. While in 720x480 the patterning is visible, in higher resolutions this issue is almost non-existent. It is very hard to spot differences (even in motion) in vertical line width when the width varies between 3 and 4 pixels.

Second solution looks very good. I found the same location in game and it looks much better than the current solution. But I am worried about performance since we are talking about quite high resolutions before scaling down.

Either way both solutions are fine by me in terms of image sharpness, question is which one would be easier to implement.

commented

Albion release version 1.7.0 contains this and other options for scaling.