Please show off what crt shaders can do!

The difference a shader can do

6 Likes

Very nice @DariusG, it has a similar vibe to my current preset.

3 Likes

5 Likes

Right click and open image in new tab.

3 Likes

Need some help! Which of these two presets do you think looks better?

A)

B)

1 Like

Here’s the difference of those 2 images:

If I crank up the brightness and contrast on that diff, there’s some sort of difference but it’s far too subtle (for me at least) to see unaided.

4 Likes

Well, I was certainly not expecting this.

3 Likes

@hunterk Please can you compare these too.

A)

B)

Same deal. It looks like there may be some really slight color differences…? but they still don’t show up from a difference blend unless I crank up the contrast a lot.

1 Like

Is there any difference between the B (second) images from both my posts?

same deal. looks black, whole image shows up after super-boost, so probably some small whole-image color/brightness difference.

1 Like

Which screenshot looks best? Nvidia has these limited dynamic range 16-235 output driver setting for TVs. I tried to do the same thing here.

ECCO CRT vs emulator comparison: CRT Pixels auf Twitter: „Ecco the Dolphin (1992, Sega) - Genesis/Mega Drive Emulation vs. 14" Semp CRT Composite (Submitted by @PIayNeth) https://t.co/WFvlxIko8P“ / Twitter

2 Likes

Full range all the way for me, I guess the middle one?

First image is default output of genesis plus gx and mupen64plus-next. Ecco looks green. Dark areas look a little bit washed out and bright areas look dull. Second image is range 16-235 adjusted to 0-255. Everything <= 16 is black. Everything >=235 is white. Third image is exaggerated.

vec4 limitRange(in vec4 col){
     const lowp float unit = 1.0 / 255.0;
     const lowp float min = unit * 16.0;
     const lowp float max = unit * 235.0;
     const lowp float offset = (1.0 - max - min) / 2.0;
     const lowp float multiplier = 1.0 / (max - min);
     col.rgb = clamp(((((col.rgb + offset) - 0.5) * multiplier)+ 0.5),0.0,1.0);
     return col;
 }
2 Likes

So no limited to full stretching in any screenshot?

I don‘t know how to call it but if i squash lower 16 Bits and the highest 20 Bits together and spread the part in the middle i shrink the dynamic range in my opinion.

1 Like

shaders = "1"
feedback_pass = "0"
shader0 = "shaders_slang/crt/shaders/crt-gdv-mini-ultra.slang"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "viewport"
scale_x0 = "1.000000"
scale_type_y0 = "viewport"
scale_y0 = "1.000000"
warpX = "0.030000"
warpY = "0.050000"
vignette = "1.000000"
gamma_out_red = "2.799999"
gamma_out_green = "2.000000"
gamma_out_blue = "2.600000"
glow = "0.440000"
9 Likes

Just another comparison. Which one looks better? SOM 0-255 SOM 16-235

2 Likes

I like the first one :slight_smile:

2 Likes

Those are some sexy looking shots right there.

2 Likes