gdv-mini-ultra more additions (#385)

* additions

* more additions
This commit is contained in:
metallic77 2023-04-13 17:33:09 +03:00 committed by GitHub
parent 7d64554c36
commit e0d753c22e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 56 additions and 49 deletions

View file

@ -20,15 +20,17 @@ scale_type_x1 = "viewport"
scale_x1 = "1.000000" scale_x1 = "1.000000"
scale_type_y1 = "viewport" scale_type_y1 = "viewport"
scale_y1 = "1.000000" scale_y1 = "1.000000"
temperature = "6503.000000" luma_preserve = "0.000000"
wp_red = "0.200000" wp_red = "0.150000"
wp_green = "-0.200000" wp_green = "-0.150000"
wp_blue = "0.200000" wp_blue = "0.300000"
gamma_out = "0.550000" gamma_out_red = "2.800000"
gamma_out_green = "2.200000"
brightboost = "1.500000" brightboost = "1.500000"
sat = "1.400000" sat = "1.400000"
glow = "0.200000"
scanline = "10.000000" scanline = "10.000000"
beam_min = "1.400000" beam_min = "1.500000"
beam_max = "2.000000" h_sharp = "2.500000"
h_sharp = "1.700000" shadowMask = "11.000000"
shadowMask = "2.000000" maskDark = "0.200000"

View file

@ -42,19 +42,31 @@ layout(push_constant) uniform Push
float csize; float csize;
float warpX; float warpX;
float warpY; float warpY;
float gamma_out; float gamma_out_red;
float gamma_out_green;
float gamma_out_blue;
float vignette; float vignette;
float mono; float mono;
float R; float R;
float G; float G;
float B; float B;
float green_boost;
} params; } params;
// Parameter lines go here: // Parameter lines go here:
#pragma parameter gdv_mini_title "[ GDV MINI - DariusG ]:" 0.0 0.0 1.0 1.0 #pragma parameter gdv_mini_title "[ GDV MINI - DariusG ]:" 0.0 0.0 1.0 1.0
#pragma parameter gamma_out "Gamma out" 0.5 0.2 0.6 0.01 #pragma parameter gamma_out_red "Gamma out Red" 2.5 1.0 4.0 0.1
#define gamma_out params.gamma_out #define gamma_out_red params.gamma_out_red
#pragma parameter gamma_out_green "Gamma out Green" 2.5 1.0 4.0 0.1
#define gamma_out_green params.gamma_out_green
#pragma parameter gamma_out_blue "Gamma out Blue" 2.5 1.0 4.0 0.1
#define gamma_out_blue params.gamma_out_blue
#pragma parameter green_boost "Green Boost" 1.2 1.0 2.0 0.02
#define green_boost params.green_boost
#pragma parameter brightboost "Bright boost" 1.0 0.5 2.0 0.05 #pragma parameter brightboost "Bright boost" 1.0 0.5 2.0 0.05
#define brightboost params.brightboost #define brightboost params.brightboost
@ -62,13 +74,10 @@ layout(push_constant) uniform Push
#pragma parameter sat "Saturation adjustment" 1.0 0.0 2.0 0.05 #pragma parameter sat "Saturation adjustment" 1.0 0.0 2.0 0.05
#define sat params.sat #define sat params.sat
#pragma parameter glow "Glow Strength" 0.08 0.0 0.5 0.01 #pragma parameter glow "Glow Strength" 0.25 0.0 1.0 0.01
#define glow params.glow #define glow params.glow
#pragma parameter Size "Glow Size" 4.0 0.1 4.0 0.05 #pragma parameter scanline "Scanline Adjust" 8.0 1.0 15.0 1.0
#define Size params.Size
#pragma parameter scanline "Scanline Adjust" 8.0 1.0 12.0 1.0
#define scanline params.scanline #define scanline params.scanline
#pragma parameter beam_min "Scanline Dark" 1.7 0.5 3.0 0.05 #pragma parameter beam_min "Scanline Dark" 1.7 0.5 3.0 0.05
@ -392,40 +401,34 @@ vec3 saturation (vec3 textureColor)
vec3 glow0 (vec2 texcoord, vec3 col) vec3 glow0 (vec2 texcoord, vec3 col)
{ {
vec3 sum = vec3(0.0, 0.0, 0.0); vec3 sum = vec3(0.0);
float blurSize = Size / 1024.0; vec2 blurSize = vec2 (global.SourceSize.zw);
sum += texture(Source, vec2(texcoord.x - 2.0 * blurSize, texcoord.y)).rgb * 0.1; vec3 c20 = texture(Source, vec2(texcoord.x - 2.0 * blurSize.x, texcoord.y)).rgb; c20*c20;
sum += texture(Source, vec2(texcoord.x - blurSize, texcoord.y)).rgb * 0.13; vec3 c10 = texture(Source, vec2(texcoord.x - blurSize.x, texcoord.y)).rgb; c10*c10;
sum += texture(Source, vec2(texcoord.x, texcoord.y)).rgb * 0.16; vec3 c11 = texture(Source, vec2(texcoord.x, texcoord.y)).rgb; c11*c11;
sum += texture(Source, vec2(texcoord.x + blurSize, texcoord.y)).rgb * 0.13; vec3 c12 = texture(Source, vec2(texcoord.x + blurSize.x, texcoord.y)).rgb; c12*c12;
sum += texture(Source, vec2(texcoord.x + 2.0 * blurSize, texcoord.y)).rgb * 0.1; vec3 c21 = texture(Source, vec2(texcoord.x + 2.0 * blurSize.x, texcoord.y)).rgb; c21*c21;
//sum += texture(Source, vec2(texcoord.x - 2.0 * blurSize, texcoord.y - 2.0 * blurSize)) * 0.1; vec3 c22 = texture(Source, vec2(texcoord.x - 2.0 * blurSize.x, texcoord.y - blurSize.y)).rgb; c22*c22;
sum += texture(Source, vec2(texcoord.x - 2.0 * blurSize, texcoord.y - blurSize)).rgb * 0.1; vec3 c23 = texture(Source, vec2(texcoord.x - blurSize.x, texcoord.y - 2.0 * blurSize.y)).rgb; c23*c23;
sum += texture(Source, vec2(texcoord.x - blurSize, texcoord.y - 2.0 * blurSize)).rgb * 0.13; vec3 c13 = texture(Source, vec2(texcoord.x - blurSize.x, texcoord.y - blurSize.y)).rgb; c13*c13;
sum += texture(Source, vec2(texcoord.x - blurSize, texcoord.y - blurSize)).rgb * 0.13; vec3 c14 = texture(Source, vec2(texcoord.x + blurSize.x, texcoord.y + blurSize.y)).rgb; c14*c14;
sum += texture(Source, vec2(texcoord.x + blurSize, texcoord.y + blurSize)).rgb * 0.13; vec3 c24 = texture(Source, vec2(texcoord.x + blurSize.x, texcoord.y + 2.0 * blurSize.y)).rgb; c24*c24;
sum += texture(Source, vec2(texcoord.x + blurSize, texcoord.y + 2.0 * blurSize)).rgb * 0.13; vec3 c25 = texture(Source, vec2(texcoord.x + 2.0 * blurSize.x, texcoord.y + blurSize.y)).rgb; c25*c25;
sum += texture(Source, vec2(texcoord.x + 2.0 * blurSize, texcoord.y + blurSize)).rgb * 0.1;
//sum += texture(Source, vec2(texcoord.x + 2.0 * blurSize, texcoord.y + 2.0 * blurSize)) * 0.1; vec3 c26 = texture(Source, vec2(texcoord.x - 2.0 * blurSize.x, texcoord.y + blurSize.y)).rgb; c26*c26;
//sum += texture(Source, vec2(texcoord.x - 2.0 * blurSize, texcoord.y + 2.0 * blurSize)) * 0.1; vec3 c27 = texture(Source, vec2(texcoord.x - blurSize.x, texcoord.y + 2.0 * blurSize.y)).rgb; c27*c27;
vec3 c15 = texture(Source, vec2(texcoord.x - blurSize.x, texcoord.y + blurSize.y)).rgb; c15*c15;
vec3 c16 = texture(Source, vec2(texcoord.x + blurSize.x, texcoord.y - blurSize.y)).rgb; c16*c16;
vec3 c28 = texture(Source, vec2(texcoord.x + blurSize.x, texcoord.y - 2.0 * blurSize.y)).rgb; c28*c28;
vec3 c29 = texture(Source, vec2(texcoord.x + 2.0 * blurSize.x, texcoord.y - blurSize.y)).rgb; c29*c29;
sum += texture(Source, vec2(texcoord.x - 2.0 * blurSize, texcoord.y + blurSize)).rgb * 0.1; vec3 c30 = texture(Source, vec2(texcoord.x, texcoord.y - 2.0 * blurSize.y)).rgb; c30*c30;
sum += texture(Source, vec2(texcoord.x - blurSize, texcoord.y + 2.0 * blurSize)).rgb * 0.13; vec3 c17 = texture(Source, vec2(texcoord.x, texcoord.y - blurSize.y)).rgb; c17*c17;
sum += texture(Source, vec2(texcoord.x - blurSize, texcoord.y + blurSize)).rgb * 0.13; vec3 c18 = texture(Source, vec2(texcoord.x, texcoord.y + blurSize.y)).rgb; c18*c18;
sum += texture(Source, vec2(texcoord.x + blurSize, texcoord.y - blurSize)).rgb * 0.13; vec3 c31 = texture(Source, vec2(texcoord.x, texcoord.y + 2.0 * blurSize.y)).rgb; c31*c31;
sum += texture(Source, vec2(texcoord.x + blurSize, texcoord.y - 2.0 * blurSize)).rgb * 0.13; sum = (3.0*c11 + 2.5 *(c10+c12+c13+c14+c15+c16+c17+c18) + 1.5*(c20+c21+c22+c23+c24+c25+c26+c27+c28+c29+c30+c31))/45.0;
sum += texture(Source, vec2(texcoord.x + 2.0 * blurSize, texcoord.y - blurSize)).rgb * 0.1;
//sum += texture(Source, vec2(texcoord.x + 2.0 * blurSize, texcoord.y - 2.0 * blurSize)) * 0.1;
sum += texture(Source, vec2(texcoord.x, texcoord.y - 2.0 * blurSize)).rgb * 0.1;
sum += texture(Source, vec2(texcoord.x, texcoord.y - blurSize)).rgb * 0.13;
sum += texture(Source, vec2(texcoord.x, texcoord.y + blurSize)).rgb * 0.13;
sum += texture(Source, vec2(texcoord.x, texcoord.y + 2.0 * blurSize)).rgb * 0.1;
return sum * glow; return sum * glow;
} }
@ -473,7 +476,9 @@ void main()
color = color * Mask(vTexCoord * global.OutputSize.xy, color); color = color * Mask(vTexCoord * global.OutputSize.xy, color);
float lum = color.r*0.3+color.g*0.6+color.b*0.1; float lum = color.r*0.3+color.g*0.6+color.b*0.1;
color = pow(color, vec3(gamma_out, gamma_out, gamma_out)); color = pow(color, vec3(1.0/gamma_out_red,1.0,1.0));
color = pow(color, vec3(1.0,1.0/gamma_out_green,1.0));
color = pow(color, vec3(1.0,1.0,1.0/gamma_out_blue));
color += glow0(pC4,color); color += glow0(pC4,color);
color*= mix(1.0,brightboost,lum); color*= mix(1.0,brightboost,lum);
@ -489,6 +494,6 @@ void main()
} }
else color = color; else color = color;
color *= vec3(1.0,green_boost,1.0);
FragColor = vec4(color, 1.0); FragColor = vec4(color, 1.0);
} }