The banding appears when there is no picture to reflect. Any reflection will hide it.
Which core do you use for vertical games? I’m trying with fbneo and mame 2003-plus but it keeps the horizontal aspect distorted.
Hi, I’ve been using Mame2016, and it does something to rotate the core image before it gets to the shader, this works well for a lot of games, but doesn’t look good on vector games.
FBNeo and Mame2003 I think both return the image in the official way which is the same way the original hardware did, so sideways…
Guest-Sm shader does handle the rotation, so I think to use that one you turn off the rotation in the core and retroarch, then tweak the settings in the guest-sm to turn on TATE mode. although i think the aspect on the frame is still wacky, so I’ll need to look into why it’s doing that.
In general I think I need to do some magic to rotate the image when it goes through the crt shader with a rotation setting. The weird aspect ratio of the screen is caused by an odd thing that retroarch is doing with the frame buffer when it rotates based on the core, it basically has rotated the frame buffer and is working with it sideways, so the bottom of the bezel which is brighter than the top actually shows up at the right side of the screen instead of the bottom
By he way, its a given that we all appreciate what you are doing here. Im saying this because i realise my posts may seem a bit like a constant critisism. Its only that i want to help make this the ultimate shader 
I’ve been playing with the parameters and I must say the the level of control you’ve built in is unprecedented. With very little effort I managed to change the look of the bezel and screen dramatically. Combined with the fact that the shader draws “over” the background instead of “under” a bezel, this makes creating artwork a piece of cake. If I could combine this bezel and effect with an LCD grid I would never need another shader.
Nice! I’m glad you are finding it easy to work with 
What LCD shaders do you like?
In seeing your examples another thing which which seems like a good idea would be to have an option to add the bezel shading on top of the bezel image, so in this example the bezel could take it’s overall brightness/color from the bezel image, so you could have the bezel be blue with the standard bezel highlights and shadows.
Another thing to mention is that if you turn off the frame (which you may have already tried) the bezel can “cut into” the bezel image and leave you with a sort of carved in look with rounded edges if you want (The frame’s thin inner bevel/highlight will still stay on the inside edge even thought the frame is removed).
Also to let you know, I have a new version coming which implements the shadow around the frame in a simpler/lighter way like you had changed in the shader, because like you mentioned it was having a heavy feel at the bottom.
Color changing for the bezel would be pretty cool.
I use the lcd-grid-v2-gba-color for most of my handhelds. It scales well so looks pretty good on all handhelds. I fear adding any option like that to this would be impossible to chain. Maybe a fork for LCD?
I did try eliminating the frame but it didn’t look as good as minimizing it’s width… looked unnatural. I played with the scan line method, mask width, and scan line brightness and came up with a result that does kind of mimic an LCD to the casual observer.
I agree that the color changing would be great. I never mentioned it because I feared it was impossible to do depending on the method you used to paint the reflection on the bezel. If it is possible maybe an RGB value as the base bezel color would be something to think about.
From an artists perspective it would be another game changer among all the rest you’ve brought us.
I look forward to trying the new version.
A new version of the shader is up, with the shadow adjustments @Duimon suggested! I can’t rember if I said before but there is one parameter for strength of the vignette and one for strength of the frame’s shadow
Quick Example
Also just a note, the presets haven’t changed in structure, but all the parameters starting with hmss_ are renamed hmbz_ so if you run a search and replace things might still load 
Yes an RGB base bezel color is easy to implement except that I’m at the limit of the number of parameters I can add
Every parameter I add I need to re-jig something else to remove another parameter 
It seems like it would be a worthwhile improvement so I’ll see what I can do 
You are relentless!
Is there a parameter that determines the size of the bezel? For example for PSX the size of the screen is much smaller compared to other cores (maybe due to resolution). I am getting around it by setting the integer scale offset to 1, but is there another way?
I guess what I am asking is, is there a way of making the shader want to maximize screen space by shrinking the bezel (while maintaining aspect ratio).
The fact that the screen gets smaller will be related to the core resolution and the integer scale. The amount it shrinks is partially dependent on the “Int Scale Border Min Height %” parameter, if you set this to 0 you will get the biggest integer scale possible while keeping the tube on the screen.
If you turn off integer scale you will get a constant tube height on the screen, but you trade off the integer scaling.
Currently the bezel & frame are a ratio relative to the tube height, so when the tube gets smaller so do the bezel and the frame.
About having the bezel scale relative to the edge of the screen, this is an interesting idea, I’ll bounce that one around the inside of my head and see where it lands 
I’ll give that a try. It is not a big deal either way. I just finished a playthrough of Biohazard 2 with this shader and it was lovely.
(so much better than the remake).
EDIT: The colors are quite striking on handheld.
Absolutely lovely!!!
Some scaling changed a hair but a trip to the parameters and the press of a button or two fixed it up… no need for any image editing.
Just plain marvelous my friend!
One question. When I adjust the “Bezel Image Res y” dimension parameter, is it just an illusion or does this mistakenly adjust the x value instead of y?
Ha! I just did a quick check and you are right!!! I’ll fix that up, thanks for pointing it out!
Using only stubbornness and image editing (after using the parameters to eliminate the black inner edge and turn off image cropping) I added an inner shadow. It’s something bezel artists do often and I think adds to the realism.
With the bezel inner edge minimized…
Cool, thanks for sharing!
If this is something often desired I can add it to the shader.
One of the reasons I’ve put so much time into this shader is to have something which auto-generates the tweak things like this which are Irritating to do in a drawing program
Is this shadow inside or outside of the actual game screen?
I’m not really seeing a difference on mobile. Could you show a image actually pointing the change out? Because I’m not what shadow your actually referring to in the images…
Most of the time, as an artist, it is trivial. It took quite a bit of tweaking to get to work with your shader though.
No matter the size of the bezel image (I changed it to 1920 x 1080 just to see) part of the image is always off screen (integer scaling probably). Again, I only need to do it once and reuse it for the vast majority of cores)
If, like you have the habit of doing, you make it adjustable then I think the community would appreciate the addition.
I see most artists do this and I do it myself. Some existing CRT shaders do it and even take it a bit too far, I think to potentially cover up mistakes in poorly constructed bezels but sometimes to accommodate flaws of emulators. Since your shader is generated, the image is always perfectly centered so it would just be aesthetic. I think the shadow is more realistic than the perfect black line because in reality most TV bezels covered up part of the screen. But, the perfect line also has a place in my toolbox. Maybe some other readers/artists could chime in about the shadow.






