flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.51k stars 176 forks source link

[feature request]Flycast still doesn't have full screen anti aliasing. #1762

Open tails101 opened 2 days ago

tails101 commented 2 days ago

Yesterday i played on a real Dreamcast and we compared to flycast. And flycast seems to have a big feature of the Dreamcast missing. The Dreamcast had a very smooth image due to a feature called full screen anti aliasing. It was very noticeable on games like sonic adventure and dead or alive. Current emulators make the Dreamcast look more like the playstation 2 due to this smoothing missing.

flyinghead commented 2 days ago

Full screen anti aliasing? Never heard of this on the dreamcast. Can you point me to the source of this information?

tails101 commented 2 days ago

Full screen anti aliasing? Never heard of this on the dreamcast. Can you point me to the source of this information?

well i think it was called super sampling aa. there is a few mention here and there but no real source. it was on n64 and dreamcast. it use anti aliasing on the whole image to look smoother and a bit blurrier it was very noticeable when we used a pal dreamcast hooked by scart on a sony trinitron tv.

tails101 commented 2 days ago

https://www.reddit.com/r/dreamcast/comments/kp8q2o/dreamcast_vs_gamecube_sonic_adventure_both/?show=original

https://www.reddit.com/r/dreamcast/comments/1h2enu/what_dreamcast_games_use_antialiasing/

https://forum.beyond3d.com/threads/did-most-dreamcast-games-use-super-sampling.15197/

few mention of the feature here and there with side to side on real hardware.

flyinghead commented 2 days ago

Dreamcast can render at 1280 horizontal resolution, which is then downsampled to 640. Only one game I can think of uses this mode: Wacky Races. Flycast supports this AA mode. Another way is to do horizontal filtering in 480i mode. There are a few variations of this mode. Flycast doesn't support interlacing so this isn't implemented (and not needed). The only exception iirc is with Full Framebuffer Emulation enabled when the game renders at 480 but outputs at 240p (not very common.)

Anyway, Flycast supports pretty much unlimited upscaling, so anti-aliasing is there if you need it.

tails101 commented 2 days ago

Dreamcast can render at 1280 horizontal resolution, which is then downsampled to 640. Only one game I can think of uses this mode: Wacky Races. Flycast supports this AA mode. Another way is to do horizontal filtering in 480i mode. There are a few variations of this mode. Flycast doesn't support interlacing so this isn't implemented (and not needed). The only exception iirc is with Full Framebuffer Emulation enabled when the game renders at 480 but outputs at 240p (not very common.)

Anyway, Flycast supports pretty much unlimited upscaling, so anti-aliasing is there if you need it.

yea but upscalling tend to mess with crt shaders. im trying to go with a original console look in retroarch but sadly it doesn't look as good without this feature and the shader doesn't work outside the native resolution. the other issue with upscaling is,it blur any 2d asset making the difference very obvious between 2d and 3d. maybe separate internal resolution and window resolution could be a quick and dirty implementation

flyinghead commented 2 days ago

Sorry but I still don't understand which Dreamcast feature is missing. Internal resolution and window/screen resolution are unrelated so this can be used for anti-aliasing. And the blurriness of upscaling 2d assets will be eliminated by the downsampling.

tails101 commented 2 days ago

Sorry but I still don't understand which Dreamcast feature is missing. Internal resolution and window/screen resolution are unrelated so this can be used for anti-aliasing. And the blurriness of upscaling 2d assets will be eliminated by the downsampling.

Strange the last time i check flycast we can't set a render resolution and a screen resolution separate in full screen unless you use a separate upscaller like lossless upscaling. And as i said dead or alive 2 and sonic adventure are known to use this feature.