Check the difference a simple shader (fake-crt-geom with image-adjustment.glsl as 1st pass) can make
Holy cow that is an amazing difference. Not to mention that is a very cool website.
We all need to be using that site, that’s some spicy fire lol.
Could this stack of effects be done with the slang shaders?
Your monitor resembles one that i had in 1997.
Thanks.
There are some shaders that use that mask: crt-aperture, CRT-geom, guest.r, I think crt-pi, so if you add 1st pass image-adjustment (in misc folder) and then e.g CRT-geom and add some contrast, saturation should be similar if not better.
Also that image comparison is on my laptop with gtx 1060, if I stretch image non-integer there, there are no uneven scanlines/artifacts but If I do the same on my cellphone there are. I think this is due to float precision definition inside the shader (lower on cellphones).
How can I add little softness to crt shader, like on your screenshots?
Check this out
https://screenshotcomparison.com/comparison/18313
Save this as yourname.glslp and check (should run inside folder retroarch/shaders so it can see the paths.
shaders = "2"
feedback_pass = "0"
shader0 = "shaders_glsl/misc/image-adjustment.glsl"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
shader1 = "shaders_glsl/crt/shaders/crt-guest-cgwg-curvature.glsl"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
ia_contrast = "1.400000"
ia_black_level = "-0.030000"
ia_bright_boost = "0.050000"
brightboost = "1.150000"
saturation = "1.200000"
beam_min = "1.500000"
beam_max = "2.300000"
h_sharp = "1.400001"
warpX = "0.030000"
warpY = "0.020000"
You can try different things like Increasing Downsample Blur, Decreasing Horizontal Sharpness, Turning On Scale FX, playing with the core sampling resolution and more.
Or you can just use presets like these:
@Cyber or anyone for that matter…since you are familiar with the new pixie shader, do you have integer scale on while using it or you leave it off…generally I always use integer scale on with my shaders but I read somewhere (and correct me if I’m wrong) that newpixie makes some sort of auto-scaling, is it true?
For the record my screen is 1600*900 and I use 5x width with 4x height. Thanks!
Integer scaling is primarily an issue for scanlines. Newpixie doesn’t include any special sauce that fixes this, it just rolls the scanlines so the unevenness from fractional scaling isn’t as obvious.
I’m not really familiar with the new pixie shader but instead the new pixie clone shader preset that was made by @HyperspaceMadness. I use HSM Mega Bezel Reflection Shader exclusively now and in order to use that you must set integer scale to off and aspect ratio to either Full or the aspect ratio of your screen. HSM Mega Bezel Reflection Shader takes care of the scaling and aspect ratio automatically.
If you’re using Higan or BSNES, the resolution setting in the core options can influence how your final image quality looks in terms of sharpness and softness. You can try switching between 256 x 224 or 512 x 224 and see what happens.
Also things like the billinear filtering setting and blur emulation can affect that as well. There are many settings which can affect softness.
Can you post your shader preset settings?
This applies to Guest-DrVenom and HSM Mega Bezel Reflection Shader but it might help:
It also handles Integer scaling. You can have it off, on just the Short axis, or Both axes.
The new pixie clone uses fake scanlines that have no curvature so integer scaling isn’t needed. It also has an Integer Scale scanlines option. (Though I think this is to make the scanlines fit the pixels like they should.)
That’s right, the integer scale scanlines divides up the scanlines so that they are a multiple of the pixels available.
Another @guest.r shader update, another shader preset tweak. The new rolling scanlines feature is a welcome touch and I wasted no time making use of it. I kept it subtle though:
shaders = "10"
shader0 = "shaders_slang/crt/shaders/crtsim/composite.slang"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/misc/grade.slang"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "PrePass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/avg-lum.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "true"
alias2 = "AvgLumPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/advanced/linearize.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "LinearizePass"
float_framebuffer3 = "true"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "absolute"
scale_x4 = "800"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "GlowPass"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "absolute"
scale_x5 = "800"
scale_type_y5 = "absolute"
scale_y5 = "600"
shader6 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "800"
scale_type_y6 = "absolute"
scale_y6 = "600"
shader7 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "BloomPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/advanced/deconvergence.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
NTSCArtifactScale = "0.000000"
wp_temperature = "8004.000000"
interm = "5.000000"
bloom = "0.900000"
halation = "0.400000"
gsl = "-1.000000"
rolling_scan = "-0.100000"
h_sharp = "3.000002"
s_sharp = "0.200000"
BLOOM = "1.000000"
csize = "0.030000"
barspeed = "200.000000"
barintensity = "0.010000"
warpX = "0.040000"
warpY = "0.050000"
c_shape = "0.600000"
shadowMask = "8.000000"
maskstr = "1.000000"
slotmask = "0.500000"
slotmask1 = "0.850000"
slotwidth = "3.000000"
double_slot = "2.000000"
deconrr = "0.750000"
deconrb = "-0.750000"
deconrry = "1.500000"
deconrby = "-1.500000"
decons = "-2.000002"
addnoised = "-0.300000"
textures = "MaskTexture;NTSCArtifactSampler;shadowMaskSampler;SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
MaskTexture = "shaders_slang/crt/shaders/mame_hlsl/resources/aperture-grille.png"
MaskTexture_wrap_mode = "clamp_to_border"
MaskTexture_mipmap = "false"
NTSCArtifactSampler = "shaders_slang/crt/shaders/crtsim/artifacts.png"
NTSCArtifactSampler_linear = "true"
NTSCArtifactSampler_wrap_mode = "clamp_to_border"
NTSCArtifactSampler_mipmap = "false"
shadowMaskSampler = "shaders_slang/crt/shaders/crtsim/mask.png"
shadowMaskSampler_linear = "true"
shadowMaskSampler_wrap_mode = "clamp_to_border"
shadowMaskSampler_mipmap = "false"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron1.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron2.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/lut/other1.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/lut/custom_lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
Easy, this filter with the effect of the crystal distortion, and perfect.
Thank you I’m glad you like it, @guest.r likes my preset as well and I always appreciate that. I think this preset is the best concoction I’ve came up with yet since I started posting in this thread months ago. That slot mask is so sexy and gives off the right gritty look I’m going for. I like my preset so much I might try and ask @hunterk if he can get it up upstreamed to the presets folder for all to easily grab, maybe call it something like “crt-guest-dr-venom-advanced-slotmask-grade” or something lol
Maybe add something about the rolling scanlines into the name?