VOGONS


First post, by vlbastos

User metadata
Rank Newbie
Rank
Newbie

Hello! First of all, thank you very much for this excellent wrapper! It solves SO MANY problems with DX9 games and ReShade, it's a real life saver! Now all my pre-DX11 games are DX11 games! 🤣

I would like to suggest a new form of antialiasing: proper SSAA with SMAA all-in-one combo.

I know you can set dgVoodoo to a custom resolution (like 2x), and it kinda works like a SSAA . I tested with Prince of Persia: Warrior Within, and things looked way jaggier than it should: maybe it's missing a better downsampling method? I wouldn't know, I can't code shaders and wrappers and such. And I know you can get SMAA from ReShade, which by the way got even better with the newest Marty McFly shader (iMMERSE SMAA).

BUT, what about getting this method of antialiasing instead:
1. render internally at 2x resolution
2. apply SMAA in the internal 2x image
3. downsample it with a good algorithm

That would be the best quality possible for antialiasing, I think. And I think no one did it before, you could be the first! 😉

Reply 1 of 6, by ZellSF

User metadata
Rank l33t
Rank
l33t

1) Test with more games. Some games just don't like forced resolution and might have unintended effects like more jaggies. I use higher scale factors as SSAA and it looks pretty good. dgVoodoo2 might not have the best downsampling method, but should still give a decent antialiasing effect. Make sure dgVoodoo is actually scaling and not your GPU drivers (set scaling mode to "Stretched, keep aspect ratio").

2) If SMAA is implemented (which I really hope it will be at some point) then there's no point to tie it to SSAA. So you're really just asking for SMAA again (which I too hope Dege will implement some day).

3) I disagree that it would be the best AA. With a decent base resolution and SSAA, SMAA doesn't contribute much. SMAA is really only good because it's cheap and works for titles where other antialiasing methods do not work.

Reply 2 of 6, by Dege

User metadata
Rank l33t
Rank
l33t
vlbastos wrote on 2023-05-24, 01:08:
Hello! First of all, thank you very much for this excellent wrapper! It solves SO MANY problems with DX9 games and ReShade, it's […]
Show full quote

Hello! First of all, thank you very much for this excellent wrapper! It solves SO MANY problems with DX9 games and ReShade, it's a real life saver! Now all my pre-DX11 games are DX11 games! 🤣

I would like to suggest a new form of antialiasing: proper SSAA with SMAA all-in-one combo.

I know you can set dgVoodoo to a custom resolution (like 2x), and it kinda works like a SSAA . I tested with Prince of Persia: Warrior Within, and things looked way jaggier than it should: maybe it's missing a better downsampling method? I wouldn't know, I can't code shaders and wrappers and such. And I know you can get SMAA from ReShade, which by the way got even better with the newest Marty McFly shader (iMMERSE SMAA).

BUT, what about getting this method of antialiasing instead:
1. render internally at 2x resolution
2. apply SMAA in the internal 2x image
3. downsample it with a good algorithm

That would be the best quality possible for antialiasing, I think. And I think no one did it before, you could be the first! 😉

Thanks!

Well, it's something that could already be done with the D3D12 output. Ok, you said you're not a programmer, but there is a Sample addon for dgVoodoo that hooks and alters the output. 😀
It could be modified to apply SMAA with an alternate downsampling algorithm to the internally scaled 2x resolution image.
As for SMAA and shaders like that, I'm not that familiar with them, so I could just copy-paste the shader code from somewhere either, but that's not my style.
But anyway, I might do it (I mean, the addon) sometime and so it could be tested at least.

Reply 3 of 6, by Peixoto

User metadata
Rank Member
Rank
Member

With anti aliasing , the older the technique, the better. Modern techniques were not invented for better quality but for better performance and that is not an issue with old games. dgvoddo already supports MSAA afaik, so the only way to go is SSAA. Furthermore , these post-processing or temporal methods always add some blur.

Reply 4 of 6, by vlbastos

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2023-05-24, 19:40:
Thanks! […]
Show full quote
vlbastos wrote on 2023-05-24, 01:08:
Hello! First of all, thank you very much for this excellent wrapper! It solves SO MANY problems with DX9 games and ReShade, it's […]
Show full quote

Hello! First of all, thank you very much for this excellent wrapper! It solves SO MANY problems with DX9 games and ReShade, it's a real life saver! Now all my pre-DX11 games are DX11 games! 🤣

I would like to suggest a new form of antialiasing: proper SSAA with SMAA all-in-one combo.

I know you can set dgVoodoo to a custom resolution (like 2x), and it kinda works like a SSAA . I tested with Prince of Persia: Warrior Within, and things looked way jaggier than it should: maybe it's missing a better downsampling method? I wouldn't know, I can't code shaders and wrappers and such. And I know you can get SMAA from ReShade, which by the way got even better with the newest Marty McFly shader (iMMERSE SMAA).

BUT, what about getting this method of antialiasing instead:
1. render internally at 2x resolution
2. apply SMAA in the internal 2x image
3. downsample it with a good algorithm

That would be the best quality possible for antialiasing, I think. And I think no one did it before, you could be the first! 😉

Thanks!

Well, it's something that could already be done with the D3D12 output. Ok, you said you're not a programmer, but there is a Sample addon for dgVoodoo that hooks and alters the output. 😀
It could be modified to apply SMAA with an alternate downsampling algorithm to the internally scaled 2x resolution image.
As for SMAA and shaders like that, I'm not that familiar with them, so I could just copy-paste the shader code from somewhere either, but that's not my style.
But anyway, I might do it (I mean, the addon) sometime and so it could be tested at least.

Will definitely try to do something with it. Found the topic, will take a look. Also, there is mrhaandi's injectSMAA, which I think might work as well. Do you know any way I can take a screenshot of the internal resolution image before the downsampling? That would help evaluate the usefulness of SMAA in a 3840 x 2160 image. From my head, I think it would eliminate ANY leftover jaggie in a resolution so high.
EDIT: forget about SMAA, I just tested Warrior Within @ 3840 x 2160 in my 4k TV. The winner is: FXAA with preprocessor quality preset 39 (ReShade shader). SMAA takes about 0.950ms in 4k, FXAA 39 takes 1ms. Here are the comparison screenshots:

original.png
Filename
original.png
File size
130.77 KiB
Views
969 views
File license
Public domain
iMMERSE SMAA.png
Filename
iMMERSE SMAA.png
File size
132.69 KiB
Views
969 views
File license
Public domain
FXAA 39.png
Filename
FXAA 39.png
File size
133.01 KiB
Views
969 views
File license
Public domain
iMMERSE SMAA+FXAA 39.png
Filename
iMMERSE SMAA+FXAA 39.png
File size
132.96 KiB
Views
969 views
File license
Public domain

In this scene, there's virtually no difference between SMAA+FXAA and FXAA only. Had to test with the original DX9 renderer, because dgVoodoo2 was giving me a textureless-white-washed render, dunno why. It works in 1080p.

So, after rendering internally @ 4k and applying FXAA 39, that would be the best image quality for a downsample, which would remove ANY jaggies in the final result. I know, downsampling from 4k-only virtually removes all jaggies, but we can see in those screenshots that if you zoom hard enough, you still can see improvement with FXAA/SMAA turned on.

About the texture blurring of post processing/temporal antialiasing methods: proper SMAA doesn't blur like the other methods. Even FXAA, if set with a high enough quality, won't blur that much: you can test it with ReShade's own old FXAA method (EDIT: set preprocessing FXAA_QUALITY__PRESET variable to 39, and the blur will be almost non existant). You can get an overkill antialiasing method in ReShade turning on SMAA and FXAA at the same time (SMAA first, FXAA after). It does work, performance hit is minimal (EDIT: on 1080p: both SMAA and FXAA are only 0.350ms or so each, total about 0.700ms), and you won't notice any blurring unless you're looking really, really hard. Also, this blurring can be easily countered with iMMERSE Sharpen or AdaptiveSharpen (great sharp shader, but old and obsolete now after iMMERSE). SMAA+FXAA first, sharpen after.

Reply 5 of 6, by ZellSF

User metadata
Rank l33t
Rank
l33t

FXAA / SMAA does blur, I see false positives in that screenshot where it does smooth out things that aren't aliased geometry edges. That screenshot is 4K which is best case scenario, 1080p is worse. Sharpening afterwards just further deteriorates the image.

SMAA is good because it's cheap, not because it's high quality.

Reply 6 of 6, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Peixoto wrote on 2023-05-24, 20:20:

With anti aliasing , the older the technique, the better.

When I messed about FSAA on Geforce2 cards there were way too many cases of 2D art getting a feedback of smear and pixel fonts blurred up in Direct3D games.

And if we went even older than that, we'd have inconsistent edges only antialiasing. 😀

apsosig.png
long live PCem