Mega Bezel Reflection Shader! - Feedback and Updates

Oh my that is pretty!

In the parameters there’s an option that scales the scanlines. It’s called “Post CRT scanlines: Simulated resolution”.

This is a great option because it allows you to fix the scanlines in high-res/upscaled resolutions. But how can i use this in other shaders? Is it a preset? A standalone shader? I need to implement it in other shaders as well since the reflection shader is too slow with the new Parallel RDP at 2x resolution scale.

There’s a shader in the scanlines folder in the standard slang shaders which is called resolution independent scanlines you could try.

To be able to adjust the simulated resolution you’ll have to edit the shader though.

If you want to use what is in the Mega Bezel you could grab this function HSS_ApplyScanlineMask in hsm-screen-scale-functions.inc and adjust it to your needs.

1 Like

Thanks. The resolution independent scanlines work well. The other option i wouldn’t know how to perform it :stuck_out_tongue:

1 Like

Also if the full Mega Bezel is too slow you could try one of the screen scale presets which do the scaling, down-sampling and screen effects like the fake scanlines

I have been inspired by the recent N64 conversation. :grin:

1 Like

Latest Progress on the Split Screen, There are still some artifacts and things to work out, and trying to improve performance

Top & Bottom with Separate Frames

Top & Bottom with Tilt

Left & Right with Separate Frames

Left & Right with Tilt

6 Likes

That tilt looks great! Never thought about using tilt with DS before.

1 Like

Yeah it’s interesting, with the DS in many games the second screen is often only used periodically.

I almost wonder if you want an option to have the second screen shrunken much smaller than the first, so it’s there if it needs to be accessed but doesn’t take up so much space.

Often emulation wise you only need it to make sure you can access periodically it something to need to be done on that screen.

2 Likes

I believe desmume has an option to make the secondary screen (which varies by game) smaller so that the main screen takes up the majority of the monitor. Many TAS use this feature for playback to focus the action.

It could be a useful feature to have.

Here’s a screenshot of Citra using this feature on my HTPC (The graphic is an old graphic.)

Desume also has this feature “Hybrid/top” and selecting to display only one screen in hybrid mode.

@HyperspaceMadness. How are you managing the “screen gap” setting?

3 Likes

Thanks for the example, I do like the Citra hybrid mode you showed, I hope I can figure a way to do something similar.

For the screen gap the way it’s currently working is you set 0 screen gap in the core options, then there is a parameter for how big the screen gap should be.

1 Like

I like this method as not all cores have a screen gap option.

2 Likes

I have a request, if you may, HyperspaceMadness, I like to use your shader to simulate a 4:3 CRT TV, even to play handhelds, so I use Super Game Boy to play GB/GBC like this:

My suggestion is to make a 4:3 version of the GBA shader, with a Game Boy Player border. Sadly I can’t do it myself, because I don’t know how to include an image that isn’t an overlay (which don’t apply any shader effects.)

1 Like

Hmm, so I’m not exactly sure what you are asking for, do you want to use the existing Mega Bezel preset with the LCD shader, and then have the gameboy advance graphic sit around this?

And the gameboy image would stretch to fit a 4:3 ratio?

1 Like

Actually my ideia was to use the normal CRT Guest preset just adding the border inside the bezel and renaming it to GBA 4:3 or something like that, if it’s possible. I did this quick (shit) paint edit, the actual game would be in the white after the border, I think this could be done with the negative crop overscan, but the Game Boy Player border should apply the shader effects (curvature, scanlines) I don’t know if it’s possible.

Edit: Don’t mind this PVM background, the only thing it would change from the normal CRT Guest would be the inclusion of this border.

1 Like

So you want to use gameboy player, then put an image on top of the screen so that only the gameboy image can be seen?

I think I’m still confused, Is there a reason why you don’t want to just have the gameboy screen as a shader inside an overlay?

What are the features of the Mega Bezel that you are wanting to leverage here, is it just the screen size and placement?

Yes I want something to simulate the Game Boy Player, because as far as I know, no emulator can generate it’s border like BSNES generate Super Game Boy border, So what it actually would do is to play a GBA game on a 4:3 aspect without “harming” GBA true aspect ratio which is inside the border. I think I can do it with an overlay, but my ideia was for the border to be whitin the shader for it to get the effects (curvature, scanlines etc.)

Sorry for confusing you man! hahah, If this is to hard, or irrelevant there’s no problem!

@JHorbach1

Not sure what you are after my friend but I did this using the TubeGlassImage…

and this using the TopLayerImage and the tube mask setting.

I am just using the VBA-M Gameboy Advance core.

In both instances I used overscan cropping to pull the screen into the border.

1 Like

@Duimon, thanks for the work bro! I did it other way, but will try with Turbo Glass replacement!

I loaded the border as an image in Retroarch, applied the shader, then saved it as an overlay! Sorry for the off-topic, just posting to show how is the final result and for you not to lost your time working on it @HyperspaceMadness if I’m the only one who likes it.

1 Like