TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.19k stars 384 forks source link

Request: Is this possible (temporal antialiasing) #496

Open ReyVGM opened 9 years ago

ReyVGM commented 9 years ago

Is merging frames possible for some Playstation games?

I'm probably using the phrase incorrectly, so let me explain. There are several polygonal Playstation and some sprite games (mostly Namco ones), that are half-high resolution ( 320x480 or 640x240, or bigger like 365x480), and I don't know if it's a high-resolution thing or a Namco thing, but when the characters move, their model or sprite look like they break into what looks like interlaced lines (for a lack of better terms).

Look at your ship, the enemy, and bullets to see what I mean: xevious 3d-g usa 2015-09-08 15 53 29

That is easily seen in games like Tekken 3 and Xevious 3D collection. But not in titles like Rage Racer or Ace Combat 3, so maybe it's an 'effect' they add and not a direct consequence of a high-res mode. I don't remember seeing that 'effect' in the real Playstation or in the Arcade version of Tekken 3. I assume the blurriness of CRTs hid that effect, or maybe even made them transparent.

So I thought about this game Boy game called Chikyuu Kaihou Gun ZAS, which has alternating backgrounds. On the real system both backgrounds look like one, but on emulators you see them flickering on/off. There's an emu called KiGB that allows you to merge frames, or bleed one frame into another, and for that specific game, the background effect looks accurate.

I was wondering if the same option can "fix" that breaking effect those Playstation games suffer from?

edit: The GB title is a.k.a. Chikyū Kaihō Gun ZAS or just ZAS (which I think is a pun? sounds like "the Earth"?) and appears to be emulated correctly by the Gambatte, GBHawk, and SameBoy cores in 2.9.1, though 'correctly' here means flickering. --yoshi

zeromus commented 9 years ago

There are three different things going on here and youre mixing them all up. They're all mellowed out by using temporal antialiasing (frame merging is someone else's personal invented terminology). In Chikuu Kauhou Gun ZAS you have what sounds like bog standard 50/50 faked alpha flickering. This looks fine on LCD and looks bad on emulators. On Tekken 3 you must just have an interlaced video mode. On Xevious 3D collecion, besides interlacing, you also have something going on that a lot of emulated arcade games have, where the game renders scanlines in a peculiar order in an effort to smoothly stretch them (the original arcade game was a different resolution) which can actually result in vertical rips of objects when combined with interlacing due to the magnitude of the rip.

You could mitigate all of the above effects on PSX by changing the PSX deinterlacing options.

Mednafen supports temporal antialiasing. We don't. We will eventually support temporal antialiasing by means of user shaders. We may eventually support temporal antialiasing at another level without the use of a user shader. I might leave this bug open to remind me to do that.

ReyVGM commented 9 years ago

Alrighty, thanks for the info. I didn't know the correct terms, so I tried to explain as best as I could :P

YoshiRulz commented 6 months ago

I got a pretty good result by overlaying the previous frame at 50% opacity with an ext. tool:

temporal not-antialiasing.webm

edit: My previous approach apparently relied on incorrect libgdiplus behaviour, so I reworked it, and it's now checked-in.