Please show off what crt shaders can do!

At least for the TMNT screen, I’m pretty sure I can make out the purple reflection it just blends really well into the bezel (probably because of the darkness of the color or something, some one with a better understanding of color theory then myself would probably know why).

Maybe we need some kind of saturation/brightness boost for the bezel reflection glow.

Hey @BlockABoots & @Syh, there are some parameters you can play with in the settings for brightness, gamma, contrast & saturation. If you set all these parameters to 1.0 you will get a reflection which has the same brightness of the screen.

It’s possible that the default for contrast is too high, or the way I’m doing contrast is making coolers mid range brightness colors too dark.

The contrast & Gamma are there mostly because in a number of reference images of CRTs it seems the brighter colours show up more.

2 Likes

@HyperspaceMadness Since the shader has its own built-in integer scaling, should the RA integer scaling be turned off?

Guys! You won’t believe it what i fixed in crt-royale . Slotmask that can be seen on white areas with normal brightness. But i also fixed aperture grill ! The guy who made crt-royale is a great coder,amazing shader. But how could he made so enormous mistakes with lut textures :joy: I 'll let you find what was the mistake who’s been there for years. (hint: LUTs in crt royale source directory and zoom 800% on each picture). I was playing with artifacts for a long time,it was minimal but still visible in 4k with closer look. I’m gonna fix the third mask and i can do better for the other 2,it’s just a test and it looks good on bright areas.

Slotmask:

1.https://pasteboard.co/ILpXSRW.png

2.https://pasteboard.co/ILpYf4w.png

Aperture grill:

1.https://pasteboard.co/ILpYoYf.png

I’m gonna share correct files later.

4 Likes

@Arviel, yes I forgot to mention this, in the bezel reflection shader chain the integer scaling is done in the shader so RA integer scaling should be OFF

2 Likes

This is a christmas gift!! Thank you.

The shader behaves strangely when changing a core’s overscan setting. Here is an example in Mesen-S. The following screenshots highlight what i mean.

Without vertical overscan and integer scaling:

With vertical overscan 8px and integer scaling:

With vertical overscan 8px and no integer scaling:

@Arviel when you say it’s acting strangely, do you mean that as you increase the Overscan crop in the core options that the screen scales up and the bezel starts to get cut off at the bottom & top of the screen? If so, what is happening here is that a larger integer multiple can fit on the screen so it scales up to that multiple.

If you want more space reserved for the top & bottom bezel you can increase scl_int_scale_border_min_height

Also just in case you are interested there are crop Overscan parameters in the scaling part of the shader to crop the top/bottom/left/right sides of the screen, which are especially helpful for cores which don’t have Overscan options.

Let me know how it goes :slight_smile:

3 Likes

Yes that was it, thank you!

Thanks. Gonna test this thoughtfully.

I can say it best with a bezel-off screenshot:

Radeon RX 580 8Gb, RA Win64 nightly, GLcore.

Also, even with the bezel on the errant reflections can just barely be seen at the outside (rectangular) corners of the bezel when it’s on. I’d be happy enough to simply run with the bezel on if I could set the overlay to lower brightness, but I know that’s asking for Yet One More Feature on top of an already fantastic shader!

Hi @ElectricKeet so this is quite interesting, the fact that the pattern in the corners isn’t blurred suggests the error is showing up in the crt shader probably related to the curvature calculation (I’m using the curvature I borrowed from EWA Curvature). This is a hard one because I don’t have a AMD card to check it on. By the way I am using Vulcan as my render engine.

Like you say we can to work around the problem by adjusting the bezel to block it out. The reason you are currently seeing it is that the bezel in the image is semi-transparent white, rather than opaque gray. If I change this to opaque gray this will block out stuff underneath the bezel. This should be an easy fix as it’s only adjusting the bezel image, so I’ll do this on the next update.

Also for anyone interested in using their own bezel images, to do this you need to change the image path in the preset, and change the following parameters to match your image,

ov_overlay_texture_res_x ov_overlay_texture_res_y ov_screen_height_in_texture

ov_screen_height_in_texture is the percentage of the height of the screen in the overlay image relative to the image height, although you can just change the image and resolution parameters then interactively tweak ov_screen_height_in_texture in the shader settings until it fits and then copy this value into the preset

1 Like

I want to hold off my enthusiasm before i test everything about the reflection shaders you posted but so far everything looks so good and it has most, if not all, options i would want. It’s so good that i decided to even make it my global default for all systems! Though, i had to add just one more shader on top of all (image-adjustment) because i like the black level option it has. So far it looks like it doesn’t mess with anything.

The only small issue (so far) is that the subtle glowing effects of the glass have a bit of a banding effect but this can easily be fixed by clearing them in photoshop.

Amazing shader my dude.

@GemaH, thanks for the kind words. I’m actually going to remove the glass highlights when I update it next.

Let me know if you see anything which you think could be improved.

2 Likes

One thing i haven’t found how to fix is the scanlines when there is a higher internal resolution. For instance, i use 640x480 or higher for N64 and the PS1/SAT also changes their resolution to a higher one for some games or menus. Same with many MAME games that use higher resolution natively.

In these instances, the scanlines get messed up and there is also very obvious moire. Is there any way to “lock” the look of the scanlines even when there is a higher resolution image? Or if there isn’t a way, could there be an option to disable scanlines entirely?

Also, there is an option that disables and enables the bezel (which leads to an interesting effect of reflections on the black screen). Could there also be an option to increase/decrease it’s opacity from visible to fade to black? I like it being a part with the shader btw, that means you can use other borders at the same time using overlays.

1 Like

Hi @GemaH, I can definitely add an opacity parameter to fade the bezel to fade it out as desired. It might also be good to have brightness and gamma settings so the brightness can be adjusted.

About the scanlines, this is really a question of the CRT shader which I didn’t create. The CRT shader used here is the great one that Guest made. The only changes I made to it were adding the shared screen scaling including the crop Overscan and switching out the Curvature function.

The reflection shader is now over top of the crt shader though, so any crt shader could be used provided it is updated to use the shared screen scaling function from the include file hsm-mega-screen-scale.h

2 Likes

So if a shader like this exists i can simply replace Venom with that?

I know Geom and Lottes should not have this issue with high-res graphics but when i use them the result is a blurry image with wrong colors and size. What other shaders can i use in it’s place?

1 Like

Should be able to to use it with about any crt shader (geom and lottes should work as well) BUT YOU HAVE TO ADD THE SCALING CODE TO THE CRT SHADER YOU WANT (from hsm-mega-screen-scale.h), for it to work properly.

Sorry on mobile forgot how to make text bold, lol.

Ok got it. Though, i’m not sure if i know how to do that but i’ll try experiment with it. Thanks!

1 Like

thank you

2 Likes