Mega Bezel Reflection Shader! - Feedback and Updates

Is 3D geometric projection still supported by this shader? I’ve noticed that in the original post it says the 3D projection is “from Royale”. Now that Royale is no longer a part of this shader, does that mean 3D projection is gone too? For me the 3D projection feature still causes significant stuttering since Royale was dropped.

After the last post about 3D curvature and stuttering, (Yes 3D is still there. I plan on using it on some of my PVM graphics.) I did some testing, using it on cores that are known culprits when it comes to stuttering. (Snes9X, Kronos, etc.) On my semi-aging system, (i7 6700K GTX 1070 8GB) I got no stuttering at all.

I would hazard a guess that your system is just a little under powered for some of the shader features. :frowning_face:

If your sure that’s not the problem, (You have a beast of a system.) I would do a separate clean install and test, just to make sure it’s not some other configuration problem.

1 Like

The 3D curvature hasn’t changed since it was added about a year ago.

The 3D projection was extracted from Royale about a year ago, and that’s what has been used for the 3D curvature and it is a bit heavy.

When I removed Royale I kept the Royale Curvature since it is separated from the main royale shader.

A bit longer term I am thinking about the possibility of replacing the royale curvature with CRT-Geom’s curvature which has similar behavior and tilt, and is far less taxing, I might still need to keep royale curvature for the cylindrical curvature though, I may or may not be able to get the CRT-Geom curvature to do my bidding.

What are you testing with? Which of the following are you using:

  • Preset
  • Core
  • Internal Core res 1x, 2x etc?
  • Monitor resolution?
2 Likes

Thanks for getting back to me! I’m happy to hear 3D curvature is here to stay. It compliments this already amazing shader really well.

  • MBZ_2_Standard
  • I have tried Beetle PSX, Bettle PSX HW, Snes9x-current, and Dolphin
  • I have tried all internal resolutions. When I first encountered the issue I was using Beetle PSX at 1x res
  • 1080p

@Duimon I had considered my system might be underpowered, but it’s powerful enough to run most things at 1080p. I’m using a GTX 970 with an i5-4690K and a solid state drive.

2 Likes

Yeah, when I first found the shader, a little over a year ago, I was using a GTX 960 and had stuttering on the cores I mentioned. HSM has made a lot of pass changes and such to optimize evreything but the 970 caps out at 2G video RAM. :frowning_face:

My thought is that is the main culprit. Aside from the fact that the 3D is very heavy.

You can simulate the effect using 2D curvature (No curvature on the short axis, a little extra on the long.) and bezel height/width settings. (Less height than width) Not quite the same but it is something.

2 Likes

Fortunately I have the 4G video ram variant of that card. Technically it’s 3.5G because 0.5G is reserved space, but it’s more than 2. It’s also an OC model. The 970 is still quite old though. If only it wasn’t nearly impossible to buy GPUs nowadays :disappointed:

2 Likes

I also just remembered, you can try some of the highres core presets which are in the experimental folder, they do not increase the resolution early in the chain like the STANDARD or ADVANCED presets do.

3 Likes

Good call! :grin:

You could also try MBZ__2__STANDARD__EASYMODE or MBZ__2__STANDARD__GUEST-SM and see if they perform better.

4 Likes

Thanks for the suggestions guys. I tried all the presets, but still no luck. The advanced preset works on my system, but the stuttering is definitely the worst in 3D mode with that preset, so maybe it is a power thing. I’m still not totally certain though. I’ll keep working at it and let you know if anything changes.

@Duimon I meant to mension earlier that your PVM graphics are awesome! I was hoping to use the Trinitron curvature mode with them. For now I can still use the old shader version at least.

3 Likes

I want them ALL :heart_eyes: :star_struck:

1 Like

I tried to tweak Duimon’s 3DS presets by changing the MBZ__2__STANDARD.slangp shader that used with to something less demanding HSM shaders such as MBZ__3__BASIC-BORDER-WITH-REFLECT.slangp and MBZ__4__BASIC-BORDER.slangp but I’m still getting stutter. If it was just the video I could have get used to it but audio cracklings makes it unbearable :frowning_face:

Anyways, I’ve decided to get back to the old days and use Duimon’s 3DS graphics as a simple overlay. After a fast operation on image editor I get the result I want and then shortly after realized that since 3DS uses dual screen I couldn’t position the second bottom screen into the place.

My question is, any way to get rid of the entire fancy shader passess including bezel reflections that creates burden on my system from one of the HSM shaders, and just let the screen positioning pass handle screen size and positioning for me?

2 Likes

My integer based graphics should work as overlays. I will be doing some R&D and adding a sample override config to make it easier to do. When I release the overlay versions I will include the configs.

I thought the Citra core had a screen gap like the NDS core.

1 Like

That would be cool but from my understanding, overlay config files will be static settings and there will be no way to tweak them inside of RA, like the same way we do with shader parameters in terms of convenience.

  • 3DS_Vertical - Copy.slangp

  • Duimon_Standard_LCD_3DS - Copy.slangp

  • MBZ__4__BASIC-BORDER__LCD-GRID - Copy.slangp

I created copy of the presets above and chain linked them to each other consecutively and this is the result I get;

There is no stutter in performance but only if I could get proper non flipped result and get rid of extra color correction stuff :thinking:

1 Like

So I’m really surprised that you are getting stuttering from the BASIC-BORDER preset as it is more than 200% faster than the STANDARD. Which means that if you are getting stuttering with BASIC-BORDER I would expect you to get far less than 60FPS if you used the STANDARD

Hmm, this is pretty similar to what the basic border does, although it does the extra screen conditioning, like adding the GEL image, Tube Highlight image.

I could make a version which strictly does the screen scaling which would run the absolute fastest it could to get the standard curvature and screen placement.

I actually used to have something like this but according to my survey no one ever used it.

What do you mean that you chained it?

The way the presets work is the first one in the chain of references defines the actual shader chain, and subsequent ones only override parameter values

1 Like

This is what I did;

It is the same as how Duimon’s presets linked and I’ve tried to replicate it except the last one which he uses MBZ__2__STANDARD__LCD-GRID.slangp and I’ve just changed that to a copy of MBZ__4__BASIC-BORDER__LCD-GRID.slangp

And this one original Duimon’s preset linking;

When I use the above method I get decent 60fps performance just like without any shader in use but yes, the Standard 3DS preset from Duimon gets stutter. If I can get proper rotation and disable color correction stuff I’m all good.

1 Like

Howdy Folks,

Have a question for @HyperspaceMadness and @Duimon. Not sure who is best placed to answer.

I’ve downloaded the latest HSM shader files and Duimon’s latest graphic / preset files. Playing around with the 3DS at the moment using the Citra core. I’ve run into an issue with the 3DS_Vertical_Alt Advanced preset. Basically if I change the resolution mulitplier in the core options to anything higher than 1x I get a line/s appearing on the screen and slight different coloration on each side of the line/s.

Here are some examples (you made need to fullscreen them to see the issue properly.

1x Native Res - All Good

2x Res - Getting weird

3x Res - Getting weirder

I’m guessing there something I need to adjust in the shader parameters to account for the resolution multiplier? If so, where should I start? I would stick with native but on the 3DS it looks a lot better at even 2x.

P.S. Thank you both for all of the updates and hard work. Love the new graphics and new features. Having fun figuring out the optimal setting for the auto cropping on N64! Also, @HyperspaceMadness the post earlier regarding the Gameboy palletes…yes please, that would be very cool…all about that DMG!!

2 Likes

So if you get good performance with this method what is missing, does the flip viewport vertical not work?

And what do you mean about disabling color correction stuff? Parameters on the LCD shader? Or are you talking about grade? What are you trying to fix exactly?

2 Likes

So this preset is using the LCD shader which means that it is trying to render a square block for each pixel in the core image. For the Obove example at 1X core resolution that means trying to squeeze 240 blocks vertically into 476 pixels vertically which is ok. When you increase the core resolution to 2x that means it is now trying to squeeze 480 blocks into 476 pixels on the screen which is really just not possible to get a good result.

What I would suggest is that if you are using higher than 1x resolution you use a preset which uses Guest-DrVenom instead of the LCD shader.

Another option would be to adjust the Core Res Sampling parameters to values which negate your core res upscale, e.g. 0.5 for 2X, 0.25 for 4x, this will give you an image the same as the base core res

2 Likes

Basically I want this;

To be look like this, without any color change. Just plain render output from the core;

Unfortunately no, it gets messier when I try. I’ll dig some more to see if I get something acceptable.

1 Like

Ok, then you will want to try the Guest-DrVenom as the base shader instead of the LCD, that will get you much better color.

Ok I see the problem the BASIC-BORDER preset does not handle the flip viewport vertical properly in at least the dual screen scenario

2 Likes