fix glow trails shader and add a preset for it to append/prepend

This commit is contained in:
hunterk 2023-10-14 09:23:37 -05:00
parent efa2535465
commit 768c107a30
3 changed files with 59 additions and 31 deletions

25
crt/glow_trails.slangp Normal file
View file

@ -0,0 +1,25 @@
shaders = 5
shader0 = ../stock.slang
alias0 = "glow_trails_refpass"
shader1 = ../crt/shaders/glow-trails/glow-trails0.slang
filter_linear1 = false
scale_type1 = source
scale1 = 1.0
# replace the blur passes with stock for sharp trails
shader2 = "../blurs/shaders/royale/blur9fast-vertical.slang"
filter_linear2 = "true"
scale_type2 = "source"
scale2 = "1.0"
srgb_framebuffer2 = "true"
shader3 = "../blurs/shaders/royale/blur9fast-horizontal.slang"
alias3 = "TRAIL_BLUR"
filter_linear3 = "true"
scale_type3 = "source"
scale3 = "1.0"
srgb_framebuffer3 = "true"
shader4 = ../crt/shaders/glow-trails/glow-trails1.slang

View file

@ -51,16 +51,16 @@ void main()
layout(location = 0) in vec2 vTexCoord;
layout(location = 0) out vec4 FragColor;
layout(set = 0, binding = 2) uniform sampler2D Source;
layout(set = 0, binding = 3) uniform sampler2D PassFeedback0;
layout(set = 0, binding = 3) uniform sampler2D PassFeedback1;
void main()
{
vec3 frame = texture(Source, vTexCoord).rgb;
float luma = (frame.rrr * yiq_mat).r;
float trails = clamp(luma - params.threshold, 0.0, 1.0);
vec4 fdback = pow(texture(PassFeedback0, vTexCoord), vec4(2.2));
vec4 fdback = pow(texture(PassFeedback1, vTexCoord), vec4(2.2));
vec4 mixed = clamp((1.0 - params.mixfactor) * vec4(trails) - params.mixfactor * fdback, 0.0, 1.0) + params.mixfactor * fdback;
// vec4 current = pow(texture(Source, vTexCoord), vec4(2.2));
FragColor = pow(mixed, vec4(1.0 / 2.2));
}
}

View file

@ -1,51 +1,54 @@
shaders = 10
shaders = 11
shader0 = ../crt/shaders/glow-trails/glow-trails0.slang
filter_linear0 = false
scale_type0 = source
scale0 = 1.0
shader0 = ../stock.slang
alias0 = "glow_trails_refpass"
shader1 = "../blurs/shaders/royale/blur9fast-vertical.slang"
filter_linear1 = "true"
scale_type1 = "source"
scale1 = "1.0"
srgb_framebuffer1 = "true"
shader1 = ../crt/shaders/glow-trails/glow-trails0.slang
filter_linear1 = false
scale_type1 = source
scale1 = 1.0
shader2 = "../blurs/shaders/royale/blur9fast-horizontal.slang"
alias2 = "TRAIL_BLUR"
shader2 = "../blurs/shaders/royale/blur9fast-vertical.slang"
filter_linear2 = "true"
scale_type2 = "source"
scale2 = "1.0"
srgb_framebuffer2 = "true"
shader3 = ../crt/shaders/glow-trails/glow-trails1.slang
shader3 = "../blurs/shaders/royale/blur9fast-horizontal.slang"
alias3 = "TRAIL_BLUR"
filter_linear3 = "true"
scale_type3 = "source"
scale3 = "1.0"
srgb_framebuffer3 = "true"
shader4 = ../crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang
srgb_framebuffer4 = true
alias4 = "ORIG_LINEARIZED"
shader4 = ../crt/shaders/glow-trails/glow-trails1.slang
shader5 = "../crt/shaders/crt-easymode-halation/blur_horiz.slang"
filter_linear5 = "true"
scale_type5 = "source"
scale5 = "1.0"
srgb_framebuffer5 = "true"
shader5 = ../crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang
srgb_framebuffer5 = true
alias5 = "ORIG_LINEARIZED"
shader6 = "../crt/shaders/crt-easymode-halation/blur_vert.slang"
alias6 = "GlowPass"
shader6 = "../crt/shaders/crt-easymode-halation/blur_horiz.slang"
filter_linear6 = "true"
scale_type6 = "source"
scale6 = "1.0"
srgb_framebuffer6 = "true"
shader7 = "../crt/shaders/crt-easymode-halation/threshold.slang"
shader7 = "../crt/shaders/crt-easymode-halation/blur_vert.slang"
alias7 = "GlowPass"
filter_linear7 = "true"
scale_type7 = "source"
scale7 = "1.0"
srgb_framebuffer7 = "true"
shader8 = "../crt/shaders/crt-lottes-multipass/bloompass-glow.slang"
filter_linear8 = "true"
alias8 = BloomPass
shader8 = "../crt/shaders/crt-easymode-halation/threshold.slang"
srgb_framebuffer8 = "true"
shader9 = "../crt/shaders/crt-lottes-multipass/scanpass-glow.slang"
shader9 = "../crt/shaders/crt-lottes-multipass/bloompass-glow.slang"
filter_linear9 = "true"
alias9 = BloomPass
shader10 = "../crt/shaders/crt-lottes-multipass/scanpass-glow.slang"
filter_linear10 = "true"
parameters = "mixfactor;threshold;trail_bright;glowFactor;DIFFUSION;maskLight;maskDark;warpX"
mixfactor = "0.75"