Mega Bezel Reflection Shader! - Feedback and Updates

Yeah I remember our conversation we had a while back, those composite presets were why my presets ended up being taken out of the mega bezel project, at first it was because of that mame_ntsc shader pass, now I added a whole new shader into the mix so that doesn’t make things any better lol.

Like we discussed in private months ago though all of those passes are necessary to get those composite presets to look the way they look now which I now love how they look.

Of course I’ll always be in agreement with seeing my presets apart of your project again if they all remain intact look wise and nothing needs to be compromised too much. I was sad the day we had that convo cause that was literally right before your project went mainstream and my presets weren’t apart of that, such is life though lol

2 Likes

Yeah, it seems like at least versions of the non-composite ones could be faithful to the look you have.

2 Likes

I guess the composite ones would still be a problem though, that sucks. Well with this new RetroArch update people can still use my pack with your project now so that counts for something

3 Likes

So here is an experimant. I stripped your “03-crt-guest-advanced-ntsc-slotmask-default-rgb” preset to just parameres and named it “03-crt-guest-advanced-ntsc-slotmask-default-rgb.params”, commented out the reference line in my SEGA Genesis preset and changed the extension to params, then created a preset with these contents.

#reference ":/shaders\shaders_slang\bezel\Mega_Bezel\Presets\Base_CRT_Presets\MBZ__1__ADV__GDV-NTSC.slangp"
#reference "03-crt-guest-advanced-ntsc-slotmask-default-rgb.params"
#reference "Genesis-[ADV]-[Guest]-[Bezel].params"

I wasn’t sure if three references would work but it appears to.

@aorin1 I also turned off curvature, turned on HYL + Stripes and PS1 Box Blur, and added some top and bottom cropping. These parameters could have been added to the final preset.

This new feature gives a lot of flexibility. It will be cool to see what @TheNamec does with it. (No pressure my friend. :wink:)

5 Likes

Oh wow, you just made a whole experiment out of this situation. Well if what you’re doing will make my composite presets compatible with the mega bezel project again I’m all for it

5 Likes

It helps a lot that besides my monochrome CRT presets I have zero CRT parameters. I have always left them at the defaults to let users decide what they want. There is nothing in my presets to conflict with community presets.

It doesn’t look like I can do that but the S-video and RGB will work just fine.

This will also work with any other Guest and Guest NTSC stand-alone mods.

That is too cool!

I will probably add a guide to my GitHub Pages site.

5 Likes

Damn, still no dice for the composite ones huh. Oh well I guess

3 Likes

Impressive, it really shows how heavily this game relies on dithering, it’s also nice to see other games being treated with shaders like these you’re messing with. The game is looking great, even though the fonts took a hit, but what can we do. For curiosity, as I knew these games were also released on the Super Famicom, I fired it up on BSNES and anticipated the devs used the far superior color pallet of the console for a cleaner visual, but as the title screens imply, the Mega Drive versions were released in between 1993-1994 and seem to have been developed by SEGA, while the SFC were released in 1992 and developed by T&E software themselves, I’m pretty sure this series comes from 80’s Japanese PCs.

Here are two raw screenshots, the first being the Super Famicom version, I have to say that I prefer the Mega Drive version as the SFC could do so much more, if done properly. I mean, the sky is dithered in the SNES version, it could have used not only gradients for almost everything, but also transparencies for parts of the HUD.

2 Likes

Well you can sort of keep everything else and add back the Composite effect with my Blargg_NTSC_Genesis_Composite_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_Composite.filt or Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_S-Video.filt filter presets.

It would be interesting to see how this hybrid (or hydra?) might look in person.

1 Like

While it might be OK for other games, it totally breaks @Hyllian’s algorithm in these dithered games.

1 Like

Change the dithering blend from 100 to 50 for a literal compromise.

3 Likes

Astonishing. Can you pack this preset so I can try it here? Just for reference, these are the four titles for the Mega Drive, the screenshots I used are from Waialae no Kiseki, for both SFC and MD versions.

New 3D Golf Simulation - Devil’s Course

New 3D Golf Simulation - Harukanaru Augusta

New 3D Golf Simulation - Pebble Beach no Hatou (Japan)

New 3D Golf Simulation - Waialae no Kiseki

Yeah I can get to that later today. My lovely wife and I are going on an art studio crawl and I will be gone for a while.

2 Likes

Believe me, I have that screenshot in my dithering collection for tests! :stuck_out_tongue:

Well, do you think this picture below is wrong?

4 Likes

I think it looks pretty good, and I’d suggest that your screenshot looks like S-Video in a CRT. Though, with shaders, we can go further like Duimon showed us, it’s hard to pick one preset, as there are quite a few that makes such dithered games look nice. To tell you the truth, I even appreciate the raw graphics too.

Here’s a similar one, but with Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition filter added above the ambient-glow-crt you kindly created as per my request the other day, can only be appreciated in full size, though. I still think yours look better, as this filter is closer to an RF signal.

Duimon’s screenshots are probably from another version/course.

2 Likes

I think it looks perfectly dedithered and transparencied! The light green dots on the grass look like they’re supposed to be there to add some texture, while the translucency of the windows appear spot on and I can no longer see any artifacts in the text. Well done @Hyllian!

Settings, shader/filter used?

1 Like

I think it looks perfect. :smiling_face_with_three_hearts: I think I need to play with some of the Guest and mega bezel settings to see what is hitting the fonts so hard.

2 Likes

Duimon, try Waialae no Kiseki version so we can all see your presets, which still look great, specially the latest one. Cool thing about it is that by zooming the image, it looks really close to a real CRT TV.

1 Like

Hello! These are the logs with the error. The same thing happens in both Glcore, which I mainly use, and Vulkan.

 [INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\add-params-all.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\stock.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\add-negative-crop-area.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\cache-info-all-params.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\text-adv.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\intro.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\dedither\dedither-gamma-prep-1-before.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\hyllian\checkerboard-dedither\checkerboard-dedither-pass1.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\hyllian\checkerboard-dedither\checkerboard-dedither-pass2.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\hyllian\checkerboard-dedither\checkerboard-dedither-pass3.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\mdapt\hsm-mdapt-pass0.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\mdapt\hsm-mdapt-pass1.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\mdapt\hsm-mdapt-pass2.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\mdapt\hsm-mdapt-pass3.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\mdapt\hsm-mdapt-pass4.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\dedither\dedither-gamma-prep-2-after.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\ps1dither\hsm-PS1-Undither-BoxBlur.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\extras\hsm-sharpsmoother.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\gtu\hsm-gtu-pass1.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\gtu\hsm-gtu-pass2.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\stock.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-afterglow0.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-pre-shaders-afterglow.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\dogway\hsm-grade.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-custom-fast-sharpen.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\stock.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-avg-lum.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-interlace-and-linearize.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-gaussian_horizontal.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-gaussian_vertical.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-bloom_horizontal.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-bloom_vertical.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-crt-guest-advanced.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\guest\hsm-deconvergence.slang".
[INFO] [slang]: Compiling shader: "D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang".
[ERROR] D3DCompile failed :
D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang.ps.hlsl(1757,29-48): warning X4008: floating point division by zero
D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang.ps.hlsl(1757,29-48): warning X4008: floating point division by zero
D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang.ps.hlsl(1828,5-58): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang.ps.hlsl(2633,20-70): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
D:\Emulators\RetroArch\shaders\shaders_slang\bezel\Mega_Bezel\shaders\base\post-crt-prep-image-layers.slang.ps.hlsl(2662,29-73): warning X3571: pow(f, e) will not work for negative f, use abs([INFO] [Video]: Restored video driver to "vulkan".
[INFO] [Config]: Saved new config to "D:\Emulators\RetroArch\retroarch.cfg".
[INFO] [SRAM]: Saving RAM type #0 to "D:\Emulators\RetroArch\saves\2Xtreme (USA).srm".
[INFO] [SRAM]: Saved successfully to "D:\Emulators\RetroArch\saves\2Xtreme (USA).srm".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 02 seconds.
[INFO] [Runtime]: Saving runtime log file: "D:\Emulators\RetroArch\playlists\logs\SwanStation\2Xtreme (USA).lrtl".
[libretro INFO] [LibretroHostInterface] Hardware context destroyed
[libretro INFO] [LibretroHostInterface] Switching to software renderer
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Unloading game..
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Core]: Saved core options file to "D:\Emulators\RetroArch\config\SwanStation\SwanStation.opt".
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

I put the checkerboard-dedither firstly, then put some crt after. Like this:

shaders = "5"

shader0 = "../dithering/shaders/checkerboard-dedither/linearize.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "LinearGamma"
float_framebuffer0 = "false"
srgb_framebuffer0 = "true"


shader1 = ../dithering/shaders/checkerboard-dedither/checkerboard-dedither-pass1.slang
filter_linear1 = false
scale_type1 = source
scale1 = 1.0

shader2 = ../dithering/shaders/checkerboard-dedither/checkerboard-dedither-pass2.slang
filter_linear2 = false
scale_type2 = source
scale2 = 1.0

shader3 = ../dithering/shaders/checkerboard-dedither/checkerboard-dedither-pass3.slang
filter_linear3 = false
scale_type3 = source
scale3 = 1.0

shader4 = "shaders/hyllian/crt-hyllian.slang"
filter_linear4 = false
scale_type_4 = source
scale4 = 1.0

The problem with fonts is most certainly cause by using some Vertical Lines dedither. If it’s mdapt, you can disable it in its params. That screenshot is only checkerboard.

2 Likes