VOGONS


Reply 20 of 26, by ZellSF

User metadata
Rank l33t
Rank
l33t
lowenz wrote on 2022-07-16, 13:34:

You are talking about a (human) perception/enhancement problem, i'm talking about pixel matrix / 2D signal through various stages of processing. And dgVoodoo2 does the latter.

dgVoodoo doesn't present an image for human perception? Must've been using the thing wrong then, because I perceive the image dgVoodoo presents. I also have never talked about enhancement.

Again though, as I said, it's very arguable that integer scaling is the highest fidelity. You continuing to argue here doesn't really make a great case for why it isn't.

In some very specific scenarios, using a very specific definition of the words fidelity or with some assumptions about the source, or output, then it can be true. Using other definitions of the word fidelity or making other assumptions about the source and output then it can be false.

Reply 21 of 26, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

@ZellSF

Integer scaling is highest fidelity in the sense that it is lossless. It's not about perception.

Now please can you both continue this pointless discussion in another topic? Thanks!

Ryzen 2600X 4.2 GHz | Radeon RX 6650 XT 8 GB | DDR4 16 GB | Win10-64 Pro

Reply 22 of 26, by ZellSF

User metadata
Rank l33t
Rank
l33t
Kaminari wrote on 2022-07-16, 16:05:

Integer scaling is highest fidelity in the sense that it is lossless. It's not about perception.

That is one definition of fidelity, yes, but not the most common one. So when someone says "integer scaling is the highest fidelity" without any qualifiers, that's highly misleading.

I just don't like this weird religion that seems to have been established over integer scaling, thinking it's the end all of scaling, when really it's just another way of scaling, with its own advantages and its own flaws. There's nothing inherently superior about it.

It also isn't the only "lossless" (I would also argue it isn't lossless just because it's reversible) scaling method, but what the hell does whether the scaling is lossless or not even matter?

Reply 23 of 26, by Dege

User metadata
Rank l33t
Rank
l33t

I created a new topic for scaling (algorithms) and moved the existing related posts here.

Reply 24 of 26, by eierfrucht

User metadata
Rank Newbie
Rank
Newbie

I wouldn't integrate AMD FSR into core dgVoodoo. I don't want alien code into it

Perhaps irrelevant due to the fact that dgVoodoo utilizes DirectX, but FSR 1.0 has recently been integrated into cnc-ddraw as a general-purpose two-pass GLSL shader (fsr.glsl + fsr.glsl.pass1).

And boy does it do wonders.

Reply 25 of 26, by eierfrucht

User metadata
Rank Newbie
Rank
Newbie

https://i.postimg.cc/GdyWwGbW/screenshot-7.jpg
https://i.postimg.cc/QxGnxYjR/screenshot-6.jpg
https://i.postimg.cc/dFWP8JWx/screenshot-5.jpg
https://i.postimg.cc/GLgWrj8C/screenshot-4.jpg

Some older 3D games like Sacred or Etherlords II have fan patches available that unlock custom, more modern resolutions like 1920x1080 yet effectively need to run at the closest widescreen resolution to the original one, e.g. 1366x768 instead of 1024x768, etc.

Otherwise the 2D UI becomes too small to be readable, there's no workaround, the engine does not scale the UI flats but rather renders them pixel for pixel. So far, I've been using dgVoodoo supersampling (4X resolution, Stretch, Keep Aspect Ratio) + Lanczos resampling. I really like the result. But replacing Lanczos with FSR would yield an even better image.

Reply 26 of 26, by Expack3

User metadata
Rank Member
Rank
Member

If Dege still doesn't want to add foreign code, I'd recommend taking a look at Dolphin's implementation of area sampling (aka pixel mixing, pixel averaging, or area map) for downsampling, specifically lines 190-338 of "Data/Sys/Shaders/default_pre_post_process.glsl"as it also contains links to examples and algorithmic explanations: https://github.com/dolphin-emu/dolphin/commit … 113e127cc5fc7b4

A practical demonstration can be found at https://dolphin-emu.org/blog/2023/11/25/dolph … esample-options, specifically the first entry in that list.