Mega Bezel Reflection Shader! - Feedback and Updates

I’ve had good results using a Geforce GTX 1070 and an AMD Radeon RX 6600 at 4K resolution for the most demanding MBZ__0__SMOOTH-ADV_GDV performance tier and good results at 1080p using a GeForce GTX 970.

I’ve used CPUs as old as a Core i5 2500K but your results will vary depending on which cores you use and settings, for example Run-Ahead/Pre-Emptive Frames, Frame Delay, Swap Frames e.t.c.

You can use guides like these to help cross reference relative GPU performance:

2 Likes

Hi everyone,

I previously posted a very similar question in Duimon’s Mega Bezel thread, but since this is really about the Mega Bezel core shader, I believe this forum is the most appropriate place to ask.

I’m trying to build a minimal Mega Bezel setup where I can use my own image shader preset, while keeping: • bezel • glass • reflections • ambient lighting

My goal is to avoid all internal image processing from Mega Bezel (no CRT, scanlines, masks, color correction, sharpening, etc.) and not load unnecessary shader passes, relying entirely on my own image shader preset, with only a minimal passthrough image stage inside Mega Bezel for reflections.

I understand that a minimal passthrough image pass is still required for reflections to work.

My questions are: • Which shader passes are strictly required to preserve bezel + reflections? • Which image-related passes can be safely removed from the .slangp when using a custom image shader preset?

Any guidance from users familiar with Mega Bezel internals would be greatly appreciated.

Thanks!

2 Likes

To make my previous post clear.

When I said “Its not as easy as that.” I meant you can’t remove passes and get what you want.

That’s just not the way the Mega Bezel works.

Maybe you can try Uborder or Koko-aio as those are “lighter” shaders with less passes. Both have reflections BTW.

How can I use the following gradient overlay in mega bezel to colorize Space Invaders Deluxe properly? I’m already using a Tube Colored Gel image as a backdrop.

1 Like

One more question.

How can I resize and move down the game image independently so I can achieve the intended look of Discs of Tron:

I usually size the background elements until they are right and then just size the whole thing together with the viewport settings.

1 Like

Alright! I was able to achieve the desired result with a custom mame lay file that only uses the si_deluxe_overlay.png:

Here's the custom lay file for reference:
<!-- invaddlx.lay (modded for bezel shaders) -->

<mamelayout version="2">

<element name="overlay">
        <image file="si_deluxe_overlay.png" />
    </element>

<view name="Color Overlay Only">
        <screen index="0">
            <bounds x="0" y="0" width="300" height="400" />
        </screen>

        <element ref="overlay" blend="multiply">
            <bounds x="0" y="0" width="300" height="400" />
        </element>
    </view>

</mamelayout>

<!--

This is a modified version by Starman99x for use with bezel shaders, the original file credits are:

- Artwork type: Bezel, Backdrop, Overlay
- Scanned bezel and moon provided by zorg
- vectorized by Zorg 
- Add'l bezel touchup by Mr. Do
- Moon color matched by Mr. Do thanks to donation by PokeMAME
- Backdrop based on SI backdrop, provided by BYOAC/CAG Artwork
- Adjusted by Mr. Do
- Lay file by Mr. Do

-->
2 Likes

You can use any layer as the backdrop and use the gel layer to color the screen. You just have to set the screen blending mode to additive.

2 Likes

Are there any plans to integrate a black frame insertion parameter into these shaders? The results look incredible on a 240hz screen. You can do it natively in Retroarch but it disables hardcore mode in retroachievements. Appending or prepending with the BFI shader doesn’t really work that well either.

Thanks!

1 Like

If I remember correctly, one of the last things HSM said he was working on was that newer frames shader but that it was going to take longer than he thought. I guess it will be in a future build.

1 Like

Maybe you can try these:

https://www.reddit.com/r/OLED_Gaming/comments/1f89aje/psa_desktopbfi_is_a_program_for_half_refresh_rate/

https://forums.blurbusters.com/viewtopic.php?t=12414

https://forums.blurbusters.com/viewtopic.php?t=14888

https://www.reddit.com/r/RetroArch/comments/1m1t31c/anybody_ever_got_crt_beam_simulator_aka_rolling/

Finally getting a proper slot mask dialed in. Going for the classic k7000 look. Which begs a request: If anyone can provide close ups of a Wells Gardner k7000 playing some games, that would be much appreciated.

As always, open in another window, and then the imgur image again, in another window, fullscreen, to see the details.

Working with 1440p is tough, but better than 1080p. More pixels would look even better, however.

4 Likes

Here are my custom Virtual Boy overrides for Mega Bezel and Duimon’s Pack:

Base CRT Preset: MBZ__1__ADV__GDV.slangp

Overrides
HSM_SCANLINE_DIRECTION = "2.000000"
HSM_INTERLACE_MODE = "0.000000"
HSM_FAKE_SCANLINE_MODE = "0.000000"
pre_bb = "0.900000"
m_glow = "1.000000"
SIGMA_HB = "15.000000"
SIGMA_VB = "0.575000"
bloom = "0.200000"
halation = "0.050000"
gsl = "-1.000000"
scanline1 = "3.500000"
scanline2 = "11.000000"
beam_min = "1.400000"
beam_max = "1.100000"
scangamma = "10.000000"
shadowMask = "-1.000000"

This is based on my recent koko-aio version.

5 Likes

Anyone remember triple 4:3 monitor arcade games, such as “The Ninja Warriors” ?

Well, Mega Bezel works great with them! And even better… My presets work great externally, through ShaderGlass, importing them directly. There’s a bit of artifacting on the far right, but this allows an alternative route to adapt Mega Bezel with Steam and non-Steam games, DOS, Windows, etc., on 32:9 displays, without going through WindowCast Core. The biggest advantage here is Retroarch struggles to handle any source video input above 640x480, and framerate starts to suffer, immensely.

However, running Mega Bezel presets through ShaderGlass @ 6x Pixel Size setting (Located under Input, 6x is for 1440p, but 9x would be for a 4k 32:9 display) eliminates this framerate issue, entirely, even if the source game is full 5120x1440, for example.

Here’s “Huntdown,” through ShaderGlass, and below, a quick shot of “The Ninja Warriors” inside Retroarch:

Note: You’ll need a proper 32:9 display, or a triple 4:3 monitor setup, or equivalent, to view these properly, in full detail, without panning or scrolling. Open each image in a new tab, and then open the imgur image in another tab, after that, and maximize with F11, or download and view in software of choice.

The advantage of a 32:9 display with these kind of games is you have no bezels between each “tube,” which mimics how the arcade games managed to hide them through mirrors and reflection to hide the bezels of the source displays.

Interestingly, this looks even better on a 32:9 display than the actual cabinets, for the image has no independent curves for each display, and you have one continuous gaming field!

3 Likes

Hi, I’m sorry if this information is easily available, but I haven’t been able to find it. I’m still pretty new to this whole preset thing.

The original post shows an example of reactive backgrounds that change aspect ratio based on screen dimensions. Is there a tutorial or document anywhere that explains how this is done? It looks like the background consists of three segments, with the central part either tiling or stretching?

1 Like

There is a README.md included with the shader that details the parameters.

The info you need is part of the “Common Layer Parameters” section.

Essentially, each layer can be split on the center line and each half can be moved to the outside edge.

There is also a parameter to preserve a defined percentage of the center.

You can also repeat a section of the image if the need arises.

You can also have a layer “Follow” the scaling parameters of a different layer in case you are using two or more layers to composite a single layer.

Used cautiously and creatively these parameters can do the seemingly impossible.

The preserve and repeat are percentage based so will require tweaking for oddball resolutions.

2 Likes

Thank you so much, now I know where to look. I suspect that for my purposes I’m probably better off creating a 21:9 device layer that automatically crops on more conventional aspect ratios, combined with a background layer that automatically tiles.

Which I’m pretty sure I understand how to do. But I would like to have the option to have some elements that cling to the edges of tre screen. Thanks again!

2 Likes

Hello. I’ve followed the directions and I just have a quick question. When using one of the mega bezel shaders on MAME games like centipede, it correctly determines the orientation and all that, but I notice that a large part of the screen is cut off. Much more than would normally be on a CRT/Arcade monitor. Any ideas or help? thanks!

1 Like

ScreenshotS? Photos of the screen? Which directions did you follow exactly?

You can increase the size of the viewport by increasing the Integer Scale Offset or Non-Integer Scale %.

1 Like