Patch_2
This commit is contained in:
@ -14,7 +14,7 @@ out vec4 fragColor;
|
||||
vec2 barrelDistortion(vec2 coord, float amt) {
|
||||
vec2 cc = coord - 0.5;
|
||||
float dist = dot(cc, cc);
|
||||
return coord + cc * dist * amt;
|
||||
return coord - cc * dist * amt;
|
||||
}
|
||||
float sat(float value)
|
||||
{
|
||||
@ -56,8 +56,6 @@ void main() {
|
||||
if (CAType == 1) {
|
||||
float reci_num_iter_f = 1.0 / float(num_iter);
|
||||
|
||||
vec2 resolution = vec2(1,1);
|
||||
vec2 uv = (texCoord.xy/resolution.xy);
|
||||
vec4 sumcol = vec4(0.0);
|
||||
vec4 sumw = vec4(0.0);
|
||||
for (int i=0; i < num_iter; ++i)
|
||||
@ -65,19 +63,21 @@ void main() {
|
||||
float t = float(i) * reci_num_iter_f;
|
||||
vec4 w = spectrum_offset(t);
|
||||
sumw += w;
|
||||
sumcol += w * texture(tex, barrelDistortion(uv, 0.6 * max_distort * t));
|
||||
vec2 distortedUV = barrelDistortion(texCoord, 0.6 * max_distort * t);
|
||||
sumcol += w * texture(tex, distortedUV);
|
||||
}
|
||||
|
||||
if (on == 1) fragColor = sumcol / sumw; else fragColor = texture(tex, texCoord);
|
||||
}
|
||||
|
||||
// Simple
|
||||
// inward sampling to avoid edge artifacts
|
||||
else {
|
||||
vec3 col = vec3(0.0);
|
||||
col.x = texture(tex, texCoord + ((vec2(0.0, 1.0) * max_distort) / vec2(1000.0))).x;
|
||||
col.y = texture(tex, texCoord + ((vec2(-0.85, -0.5) * max_distort) / vec2(1000.0))).y;
|
||||
col.z = texture(tex, texCoord + ((vec2(0.85, -0.5) * max_distort) / vec2(1000.0))).z;
|
||||
if (on == 1) fragColor = vec4(col.x, col.y, col.z, fragColor.w);
|
||||
vec2 toCenter = (vec2(0.5) - texCoord) * max_distort / 500.0;
|
||||
col.x = texture(tex, texCoord + toCenter * 0.0).x;
|
||||
col.y = texture(tex, texCoord + toCenter * 0.5).y;
|
||||
col.z = texture(tex, texCoord + toCenter * 1.0).z;
|
||||
if (on == 1) fragColor = vec4(col.x, col.y, col.z, 1.0);
|
||||
else fragColor = texture(tex, texCoord);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user