Mega Bezel Reflection Shader! - Feedback and Updates

Yes this is intended, I’m now using the same crt pass from GDV for GDV-NTSC while including the ntsc stuff before it.

The only difference I see here is that the reflection is brighter. This is not expected, so I’ll investigate to see why it’s different.

1 Like

The sharpness, clarity and resolution of the image from 1.7.0 are perfect. There’s no blurring that can be seen at a distance on a large 4K screen.

The image from 1.8.1 is actually slightly blurry. If you focus on the edges of the text you can see the higher contrast and black levels on the image from 1.7.0 vs 1.8.1. It might seem subtle on a smaller screen or image but when blown up on a big screen and viewed from a distance it’s clearly evident.

I’ve been putting in a lot of work to ensure that my S-Video NTSC II presets were easy on the eyes and maintained sharpness and focus from a distance.

This explains a lot. At the same Scanline Direction Multiplier setting of 600, 1.8.1 seems to produces a softer image. If I change it to 100, it gets sharper but now I notice some ringing like artifacts that weren’t there before.

So there’s now an uneven thickness in the vertical mask lines on the right hand side of the red letters in the “Super Mario World” title. Increasing Fast Sharpen kinda cleaned it up a bit but this comes after I stopped using Fast Sharpen due to it reducing contrast on the black edges of sprites and graphics.

I did this before I realized the extra filtering section was active so I don’t yet know exactly what I might have to do to recalibrate the image after taking those settings into consideration.

At this point what would be perfect is if the reflection plane bug fix could be backported to 1.7.0 but I know that’s not a realistic expectation.

Other than that I’m hoping it will be simple to get an equivalent output from 1.8.1 after you look it over. Or at least some guidance as to what changes under the hood might have caused a change in output and how to compensate for them. I was looking out for the SGENPT-MIX and PSX Box Blur but not the others.

Anyway, thanks for all the hard work you’ve put into and continue to put into HSM Mega Bezel Reflection Shader!

1 Like

Just to give some background on why it changed: In V1.7.0 the core res multiplier for the scanline direction was not doing anything. When you aren’t using scalefx this isn’t much of a problem, but as you reported, to have the results of the scalefx actually visible you need to increase the core res multiplier for the scanline direction.

So to support this properly and make the package more maintainable I switched out the gdv-ntsc crt pass for the standard gdv crt pass because they are extremely similar.

I’ll take a look to see where horizontal blur difference is appearing between the old and new. Do you see any difference with the base preset? Or only with the settings in your preset?


I only used the base preset to present my report of the reflection issue. I haven’t taken a closer look to see if I can see the difference in the horizontal blur.

It was pretty easy to spot using my latest preset that I’m working on though since its primarily clarity I was trying to improve over the last release available in my package.

If you’d like to test it, it’s basically my existing

\Mega_Bezel_Packs\CyberLab\MBZ__1__Advance_Full_Reflections_CyberLab_Special_Edition\4K_Optimized_Presets\Console_Specific_Presets\CyberLab_SNES_S-Video_Slot_Mask_IV_OLED_NTSC_II + CFRS_Mega_TV.slangp

preset with

Integer Scale set to 1


Integer Scale Offset Set to 1

with the

Horizontal Sharpness set to 1.300000


Subtractive Sharpness set to 1.300000.

The is

Frame Thickness set to 0

, the

Independent Scale set to 89.769897

and the

Bezel.Scale Offset Set to 106.299904.

I hope this wasn’t implemented mainly based on my initial accounts as I was just getting my feet wet with the GDV-NTSC base preset. I kinda accepted that things worked differently with the MBZ__0__SMOOTH-ADV_GDV-NTSC base preset as opposed to the MBZ__1__ADV__GDV-NTSC.

After you explained to me that a Core Res Multiplier Setting of 600 was similar to 100 in the non-NTSC GDV base presets I used that as the basis and tweaked around that.

Apart from some of my relatively older presets, my use of ScaleFX has been somewhat limited. I had it enabled using a Core Res Multiplier of 100 for an extremely subtle effect.

I simply accepted that the Smooth__ADV__GDV__NTSC’s core res resampling setting and GDV__NTSC Scaling setting worked differently between the MBZ__0 and MBZ__1 versions and was able to produce beautiful presets using both.

I was even able to get rainbow effects, blending and transparency using both, just had to use relatively higher NTSC Scale values for the MBZ__0__SMOOTH-ADV_GDV-NTSC variants.

I had updated my post with the Ninja Gaiden screenshots once I had gotten the hang of things.

Was just about to release my best Genesis, NES and SNES, presets ever using the MBZ__1__ADV__GDV-NTSC and Turbo Duo preset using MBZ__0__SMOOTH-ADV_GDV-NTSC, when I discovered the reflection bug.

My apologies if there was any misunderstanding leading to any unnecessary work on your part.

1 Like

Another thing That I want to know, is what is scalemode: SCREEN|OUTPUT|ABSOLUTE|MASK for? For me the default one looks better, and 1 sometimes, but don’t know what is it for. And integer scaling, which is best for 4K? integer scaling is is better to round up or round down? Thank you all for all the help :smiley:


BTW, I created a personal thread, so anyone can find my personal screenshots and gameplays, so It would be easy to find them. I hope you enjoy it :grin:


Going to try something else which I gleaned from YT, hope it fixes it!

These options look like the deconvergence scaling. The default is SCREEN follows the game screen size, this is a good default because the amount of deconvergence relative to the graphics stays constant. So the deconvergence will look similar at 2K and 4K.

About integer scaling, the default non-integer scale of the megabezel matches integer scaling for a source which is 224p.

Integer scaling is usually only needed if you are seeing moire artifacts. At 4K you will see much fewer artifacts than at 2K. Whether you round up or round down really is up to you based on the core resolution and what size of screen would you like to see.

So, if you are not seeing moire artifacts, I would recommend using Non-Integer scale, as the screen will always be a stable size, regardless of the core resolution.


You pointed out something which wasn’t working correctly, so it was definitely necessary to be fixed. It was something that had broken when I updated to the new guest NTSC a good while ago and had been sitting there broken for a while.

I fixed it so that the core resolution scaling works properly as expected, and it’s now possible to have a correct SMOOTH-ADV-GDV-NTSC.

1 Like

Out of curiosity, what does the CRT pass do? Also is it possible to have the second horizontal and subtractive filtering section toggleable?

Does this switch out affect all tiers of GDV-NTSC presets?

Ok. Thank you. You are helpful as always…:grinning:

1 Like

The crt pass does all the scanline dynamics.

Are you telling me there are two horizontal subtractive filtering sections showing up? There should be only one filtering section visible. Also it can’t be turned off, you should always see one.

Yes it does

1 Like


Both the one that was traditionally in the GDV NTSC presets as well as the one from the GDV Non-NTSC presets.

I’m almost certain this accounts for at least some of the discrepancy between output in the current and previous versions of the shader because neither of them seem to be active.

The one in the screenshot is immediately below the scanline settings. Whereas the one I’ve been using before in the GDV-NTSC presets is immediately below the GDV-NTSC scaling, artifacts and blend settings.

It doesn’t even have a heading, that’s a clear giveaway there.

Perhaps the Guest Advanced NTSC filtering options should continue to be paired with the Guest Advanced NTSC Shader as they don’t seem to work the same way. They seem to have different weighting and scaling. The values also don’t seem to correspond either.

I also recently read Guest saying that all one should ever need are the Horizontal and Subtractive Sharpness settings in reference to the GDV-NTSC shader.

That gave me the confidence to forgo the Fast Sharpen Settings in favour of those two settings and the results are quite striking. Setting the Fast Sharpen to 00000 really helps with the contrast of the black outlines of the sprites and graphics.

Here are two more examples of the difference between 1.8.1 and 1.7.0.

The difference is slight but not insignificant. It could very well be due to the lack of functioning Horizontal Filtering Controls.



Lastly, Horizontal Blur Sigma control seems to be completely absent from the non-NTSC version of the shader and this is something that I was really looking forward to experimenting with to further tweak my NTSC presets after seeing how profoundly it affected the sharpness and clarity of the image around the same time I discovered the reflection bug.

Take a look at how powerful this one parameter can be.

Would it be possible for the reflection bug fix to be backported to v1.7.0 or perhaps the swapping of the filtering sections be deferred for at least 1 version so that there’s one final version with no reflection bug but complete GDV-NTSC?

I posted some more new screenshots in my thread… Rastan at it’s full potential :crazy_face:


Has anyone got a Sony trinitron? I also want to make a setting for the Sony trinitron. I would apreciate if someone can post closeup photos and all the screen with good definition too, so I can copy the pattern of the aperture grille and make it as close as possible.

1 Like

This might be a good place to start.

Also r/crtgaming on reddit.


Thanks man. I’ll check it out.:grin:

1 Like

No problem @RetroGames4K. I understand you’re trying to match an actual set. Do remember that there are several different models of Trinitron sets with different TVLs and also different levels of deconvergence.

I’d say you’re probably already 90% there with your Sanyo Slot Mask Presets. All you might need to do to Trinitronify them might be to turn the Slot Mask Strength Bright and Dark Pixels down to 0 or comment them out in your preset and you’ll have a decent aperture grill at around 300TVL if using Mask 12, Size 1.

You can get a slightly higher TVL by using Mask 6, Size 2, also Mask 10, Size 1 and lastly Mask 6, Size 1.

You might want to experiment with the different Scanline Types as well with GSL 2 giving the darkest and thickest scanlines and you could easily match a PVM, BVM or Consumer Style TV.

1 Like

today i got c64 lighgun games working (the option was elsewhere) and the second game i tried just speaks to me , so i had to share this


Hi p3st, I dropped you a pm. Thank you man.

1 Like