With the advent of the Saturnus core in BizHawk 2.0 and later, a new option has made its appearance (in that specific core):
Horizontal blending. If this option is enabled, BizHawk stretches the output to twice the width with some filtering applied.
I've done a bit of research regarding how the Sega Saturn handled transparency (I really recommend reading the article and watching the video):
http://www.mattgreer.org/articles/sega-saturn-and-transparency/
https://www.youtube.com/watch?v=f_OchOV_WDg
As it turns out, many Saturn games go for a mesh approach to handle transparency. This consists of drawing every other pixel of a sprite to simulate a transparency effect. This is where it gets interesting: On composite output, the mesh is blurred in such a way that e.g. the spotlights in Mega Man X4 appear transparent. However, the mesh is clearly visible on S-Video or RGB output.
Conversely, I'm currently handling
the publication of a Saturn game called Tryrush Deppy. I dumped it once without horizontal blending and once with horizontal blending. Now, I'm going to show 6 screenshots with different approaches, with pros and cons:
Original dump without horizontal blending:
Pros: Picture is crystal clear
Cons: Mesh is clearly visible
AviSynth code: N/A (well, aside from opening the AVIs)
No horizontal blending, blur filter applied via AviSynth:
Pros: No mesh visible
Cons: Picture is obviously blurry
AviSynth code: Blur(1.00)
No horizontal blending, horizontal blur filter applied via AviSynth:
Pros: No mesh visible
Cons: Picture is obviously blurry (though not as blurry as the above one).
AviSynth code: Blur(1, 0) #note the comma instead of the period
Horizontal blending, resized back to original width with LanczosResize:
Pros: Mesh is less visible.
Cons: Picture isn't as clear.
AviSynth code: LanczosResize(330, 240, taps=2)
Horizontal blending, resized back to original width with PointResize:
Pros: Picture is clear, mesh isn't as visible as in the non horizontally blended one.
Cons: Some parts might appear overly squished, due to the nature of PointResize.
AviSynth code: PointResize(330, 240)
So, what would be the best approach for handling the mesh effect present in many Saturn games?
I myself am torn between no horizontal filtering with absolutely no blurring applied and either one of the two horizontal blending ones.
Something of note is that footage I found on YouTube (
SGDQ 2017 speedrun,
full playthrough) have the mesh clearly visible.