Mega Bezel Reflection Shader! - Feedback and Updates

@BendBombBoom @HyperspaceMadness

This is something the PS1 actually did.

The bios screen (white screen with the Sony logo) was a different resolution I think.

Start screens and menus were in 480i alot of times while the rest of the game would be in 240-480p. (The system would switch resolutions on the fly, while running.)

Excellent work as always! :clap: :clap:

I want to thank you again for continuing the guest glass shader. BTW I noticed that you upped the pvm colors setting to 20. IMO it’s a bit high; introduces a lot of chromatic aberration and some yellow into whites. Easy enough to tweak (8) :wink:

1 Like

No problem, now that I have the code and presets managed relatively consistently it’s relatively easy to have the glass preset updated with the others. Although having something like 17 presets to test is a bit of a juggle, but it’s not a problem.

If this is something that is generally desired I could reduce it, what feels like a good value to you?

Does anyone else have an opinion on this one?

Well, I don’t really see it as a problem but since guest is supposed approximate quality CRTs, there should be little convergence issues. I took the hint from @Kurozumi 's setting, which is .08. You don’t have to change anything, though :smiley:

1 Like

Where is the scaleFX switch? Don’t see it in the parameters.

1 Like

If you are using one of the Guest-Dr-Venom presets you should see it after the reflection stuff and before the guest venom stuff, same with the easymode presets. The Royale presets do not have the scalefx switch.

I’m using guest-dr-venom but I don’t see the option after the reflection stuff:

Could you show which version of the shader your using? As this was added in one of the most recent updates for the shader.

2020-06-15 :slight_smile:

OK that’s where it should be, I’ll take a look, and see why it’s not appearing.

@extracampine you are a few Retroarch versions behind; maybe try updating. You’re on Retroarch 1.8.5; current version is 1.8.9. Delete your current HSM Mega Bezel settings and redownload the files from the first post

@HyperspaceMadness I don’t see a reason why it would be something on your end.

When I try using this shader with the newest version of parallelN64, it immediately crashes.

The audio starts skipping, the video will show some garbled graphics and quit.

Log file attached, but I don’t see any errors.

https://ghostbin.co/paste/4p2tn

I just looked at the V2020-06-15-0 release and I do see it there

Loading this preset: Gives this:

For reference these have the ScaleFX integrated

Can you send me the contents of the slangp file you are trying to load?

It’s quite strange that you don’t see it, the only guest-dr-venom presets that don’t have it are the FMV and Vector ones

1 Like

How is it with other shaders like crt-royale?

Other shaders work fine.

The HSM shader will crash if I load it while Mario 64 is on the title screen, but if I wait until the save select screen is loaded, the shader will load, but the game will stutter.

This is on 4x upscaling, 2x works fine and doesn’t crash

1 Like

It’s not a problem with the shader, must be something else, I’m running Parallel at 4x resolution, and I’m using the shader.

Although I’m using 4x downsampling to 240p in Parallel64, I made sure to disable downsampling to test it at “pure” 4x upscaled, works just fine. Screenshots below

I’m no expert but I think that your GTX 1050 is lacking VRAM to handle it. I have a 1080ti with 11GB VRAM.

Edit: Parallel64 at 4x with HSM Bezel is consuming 2,7 GB of VRAM for me. image

4 Likes

Most likely, been meaning to pick up a new GPU for a long time, just haven’t found a good enough deal on a 1060/580.

2 Likes

Got it working - chose the shader again and it appeared. Looking good, thanks for this!

1 Like

Thanks for the latest updates :slight_smile:

I’ve become a fan of Dogway’s grade shader and would like to try it in combination with your preset that only has the 2D and 3D screen curving options, the “hsm-screen-scale-crt-guest-dr-venom.slangp” preset from your folder.

The grade shader does everything needed for grading - custom CRT gamuts, CRT Gamma, whitepoint and all thinkable color adjustments. It’s different from the default CRT options in guest-dr-venom, and IMO adds value over those. You may or may not be familiar with it, but here’s the thread discussing the ins and outs:

Inserting grade.slang in the default guest-dr-venom shader is done by removing the first two passes “LUT” and “color-profiles” and renaming the passes from 0 to 7 (so 8 shader passes remain after removal of those two) and then changing the new “0” pass:

shader0 = “shaders_slang/crt/shaders/guest/d65-d50.slang”

To this (i.e. grade.slang replaces guest-venom default d65-d50.slang as “WhitePointPass”)

shader0 = "shaders_slang/misc/grade.slang"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "WhitePointPass"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"

Now the very first pass in your shader adaption of guest-dr-venom is already different, with setup parameters and such so I don’t dare to touch this :slight_smile: Also I don’t see the d65-d50.slang to replace, so I could use a helping hand as to where to put the grade shader into your screen scale only preset as quoted below?

I really don’t want to mess anything up with your shader, so any advice help would be welcome where to put the grade pass?

// Add Mega Bezel Params & Initial Prep
//      Add Mega Bezel parameters at the beginning of the list for easy access
//      Add Color Correction
//      Calculate Average Luminance and put in alpha channel
//      Debug Drawing of the resolution & screen scaling info
shader0 = ../crt/shaders/HyperspaceMadness/hsm-prep-initial-screen-scale-only.slang
alias0 = WhitePointPass

// Linearize Color ----------------------------------------------------------------
shader1 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize.slang
filter_linear1 = false
scale_type1 = source
scale1 = 1.0
float_framebuffer1 = true
alias1 = LinearizePass

// Guest-Venom Pass ----------------------------------------------------------------
shader2 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize_scanlines.slang
filter_linear2 = true
scale_type2 = source
scale2 = 1
float_framebuffer2 = true

// Reduce resolution to a small consistent size so blur is consistent between different core resolutions
shader3 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-get-linearize-pass.slang
filter_linear3 = true
mipmap_input3 = true
scale_type3 = absolute
scale_x3 = 320
scale_y3 = 320

// Guest-Venom Pass ----------------------------------------------------------------
shader4 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_horiz.slang
// mipmap_input4 = true // This is commented out on purpose, was causing small white dots appearing on final image
filter_linear4 = true
scale_type4 = source
scale4 = 1
float_framebuffer4 = true

// Guest-Venom Pass ----------------------------------------------------------------
shader5 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_vert.slang
mipmap_input5 = true
filter_linear5 = true
scale_type5 = source
scale5 = 1
float_framebuffer5 = true
alias5 = GlowPass

// CRT Shader - Guest-Venom ----------------------------------------------------------------
//      Guest's Awesome Shader!!!
//      Has been slightly altered to use the same scaling as the rest of the shders for the bezel & reflection
shader6 = ../crt/shaders/HyperspaceMadness/hsm-guest/hsm-crt-guest-dr-venom-with-scaling-mask-outside-screen.slang
mipmap_input6 = true
filter_linear6 = true
scale_type6 = viewport
scale_x6 = 1.0
scale_y6 = 1.0
float_framebuffer6 = true
alias6 = BR_CRTPass

shaders = 7

// Define textures to be used by the different passes
textures = "SamplerLUT3;"
SamplerLUT3 = ../crt/shaders/HyperspaceMadness/textures/lut/other1.png
SamplerLUT3_linear = true
2 Likes

Hi, I would suggest putting this right after the first pass, then turn all the color correction options from the Mega Bezel to neutral values. Hopefully there are enough parameter slots left for grade when the bezel stuff is not present.

It might technically be possible to remove the first pass but I don’t recommend it because the other shaders in the presets have a general expectation that it’s there.

Let me know how your experiment goes!

Edit Note: The d65-d50 is integrated into the first pass, and the first pass has the phosphor persistence which is similar to the afterglow.

1 Like