I’ve been working on a shader to specifically process those strange vertical lines (sometimes checkerboard patterns) used in sega genesis games to produce what’s called “pseudo transparencies”.
As you know, there are already many solutions available, from ntsc composite and GTU shaders to advanced ones like gdapt/mdapt. It’s very hard to produce a perfect solution, so it’s good to have options. Each one of the solutions have its pros and cons. Some of them can degrade or blurry the image too much and others can be sharp as you want, though it may present stray pixels more easily.
Then, what’s new in SGENPT-MIX? It was firstly based on jinc shaders, then it took its own path. It performs a non-linear operation over the image and cancels those vertical lines without destructing too much the rest of the frame. I think it’s a good balancy between sharpness and overall image consistency (I define it as the seamless transition between pixel areas, from transparency to non-transparency regions). I’m still making tests, but I think the results are already good enough for a first release. So you can test and point its flaws. It’s not perfect, BTW, though I think it gives a consistent result and stray pixels are hard to spot.
It’s intended only for games that use this effect as you pay some IQ price for the transparency effect. And yet, after version 5 was released, most genesis games benefit from it. And even other platforms like arcade games that use dithering (SNK and Capcom arcade games, for example.)
Sgenpt-mix is a very fast shader and must run at 1x scale as the first pass. It’s very easy to use, for now it has only three parameters where you can choose sharpness (0.0 to 1.0), blend mode options (OFF=0.0, Pseudo Transparencies=1.0 (default) and Only Checkerboard Dithering=2.0) and Blend Level (BL), where you adjust the level of dithering/pseudo transparencies blending. After that first pass, you can add any other shader you like to upscale the image (I recommend some crt shader of your preference) to your screen size.
Unzip and put the contents inside your dithering folder.
Version 8b released:
OK, here’s Version 8b: sgenpt-mix-v8b (glsl and slang)
- Added option to original ‘Both’ (it’s number 4);
- Added a switch to turn Linear Gamma ON/OFF.
For now on, I’ll only update the first pass. Second pass will be updated when necessary only.
At level 1.0, it blends the same way as before. At level 0.0 it blends the minimum. Minimum is different from doing nothing. On reality, on minimum level it’ll blend very soft dithering (low contrast). I think that at level 0.0 the Genesis games look great even if they don’t have any dithering. I recommend using BL=0.0 for most games and for the ones with high contrast dithering, use BL=0.8~1.0.