diff --git a/Data/Sys/Shaders/16bit.glsl b/Data/Sys/Shaders/16bit.glsl index ca7fb0bbfa..f7d8170ebe 100644 --- a/Data/Sys/Shaders/16bit.glsl +++ b/Data/Sys/Shaders/16bit.glsl @@ -7,55 +7,55 @@ uniform vec4 resolution; void main() { - //Change this number to increase the pixel size. - float pixelSize = 3.0; + //Change this number to increase the pixel size. + float pixelSize = 3.0; - float red = 0.0; - float green = 0.0; - float blue = 0.0; - - vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw; - - vec4 c0 = texture(samp9, pos); + float red = 0.0; + float green = 0.0; + float blue = 0.0; - if (c0.r < 0.1) - red = 0.1; - else if (c0.r < 0.20) - red = 0.20; - else if (c0.r < 0.40) - red = 0.40; - else if (c0.r < 0.60) - red = 0.60; - else if (c0.r < 0.80) - red = 0.80; - else - red = 1.0; + vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw; - if (c0.b < 0.1) - blue = 0.1; - else if (c0.b < 0.20) - blue = 0.20; - else if (c0.b < 0.40) - blue = 0.40; - else if (c0.b < 0.60) - blue = 0.60; - else if (c0.b < 0.80) - blue = 0.80; - else - blue = 1.0; + vec4 c0 = texture(samp9, pos); - if (c0.g < 0.1) - green = 0.1; - else if (c0.g < 0.20) - green = 0.20; - else if (c0.g < 0.40) - green = 0.40; - else if (c0.g < 0.60) - green = 0.60; - else if (c0.g < 0.80) - green = 0.80; - else - green = 1.0; - - ocol0 = vec4(red, green, blue, c0.a); + if (c0.r < 0.1) + red = 0.1; + else if (c0.r < 0.20) + red = 0.20; + else if (c0.r < 0.40) + red = 0.40; + else if (c0.r < 0.60) + red = 0.60; + else if (c0.r < 0.80) + red = 0.80; + else + red = 1.0; + + if (c0.b < 0.1) + blue = 0.1; + else if (c0.b < 0.20) + blue = 0.20; + else if (c0.b < 0.40) + blue = 0.40; + else if (c0.b < 0.60) + blue = 0.60; + else if (c0.b < 0.80) + blue = 0.80; + else + blue = 1.0; + + if (c0.g < 0.1) + green = 0.1; + else if (c0.g < 0.20) + green = 0.20; + else if (c0.g < 0.40) + green = 0.40; + else if (c0.g < 0.60) + green = 0.60; + else if (c0.g < 0.80) + green = 0.80; + else + green = 1.0; + + ocol0 = vec4(red, green, blue, c0.a); } diff --git a/Data/Sys/Shaders/32bit.glsl b/Data/Sys/Shaders/32bit.glsl index 1b27bef9be..1a9594f19c 100644 --- a/Data/Sys/Shaders/32bit.glsl +++ b/Data/Sys/Shaders/32bit.glsl @@ -7,80 +7,80 @@ uniform vec4 resolution; void main() { - //Change this number to increase the pixel size. - float pixelSize = 2.0; + //Change this number to increase the pixel size. + float pixelSize = 2.0; - float red = 0.0; - float green = 0.0; - float blue = 0.0; - - vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw; - - vec4 c0 = texture(samp9, pos); - - if (c0.r < 0.06) - red = 0.06; - else if (c0.r < 0.13) - red = 0.13; - else if (c0.r < 0.26) - red = 0.26; - else if (c0.r < 0.33) - red = 0.33; - else if (c0.r < 0.46) - red = 0.46; - else if (c0.r < 0.60) - red = 0.60; - else if (c0.r < 0.73) - red = 0.73; - else if (c0.r < 0.80) - red = 0.80; - else if (c0.r < 0.93) - red = 0.93; - else - red = 1.0; + float red = 0.0; + float green = 0.0; + float blue = 0.0; - if (c0.b < 0.06) - blue = 0.06; - else if (c0.b < 0.13) - blue = 0.13; - else if (c0.b < 0.26) - blue = 0.26; - else if (c0.b < 0.33) - blue = 0.33; - else if (c0.b < 0.46) - blue = 0.46; - else if (c0.b < 0.60) - blue = 0.60; - else if (c0.b < 0.73) - blue = 0.73; - else if (c0.b < 0.80) - blue = 0.80; - else if( c0.b < 0.93) - blue = 0.93; - else - blue = 1.0; + vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw; + + vec4 c0 = texture(samp9, pos); + + if (c0.r < 0.06) + red = 0.06; + else if (c0.r < 0.13) + red = 0.13; + else if (c0.r < 0.26) + red = 0.26; + else if (c0.r < 0.33) + red = 0.33; + else if (c0.r < 0.46) + red = 0.46; + else if (c0.r < 0.60) + red = 0.60; + else if (c0.r < 0.73) + red = 0.73; + else if (c0.r < 0.80) + red = 0.80; + else if (c0.r < 0.93) + red = 0.93; + else + red = 1.0; + + if (c0.b < 0.06) + blue = 0.06; + else if (c0.b < 0.13) + blue = 0.13; + else if (c0.b < 0.26) + blue = 0.26; + else if (c0.b < 0.33) + blue = 0.33; + else if (c0.b < 0.46) + blue = 0.46; + else if (c0.b < 0.60) + blue = 0.60; + else if (c0.b < 0.73) + blue = 0.73; + else if (c0.b < 0.80) + blue = 0.80; + else if( c0.b < 0.93) + blue = 0.93; + else + blue = 1.0; - if (c0.g < 0.06) - green = 0.06; - else if (c0.g < 0.13) - green = 0.13; - else if (c0.g < 0.26) - green = 0.26; - else if (c0.g < 0.33) - green = 0.33; - else if (c0.g < 0.46) - green = 0.46; - else if (c0.g < 0.60) - green = 0.60; - else if (c0.g < 0.73) - green = 0.73; - else if (c0.g < 0.80) - green = 0.80; - else if( c0.g < 0.93) - green = 0.93; - else - green = 1.0; + if (c0.g < 0.06) + green = 0.06; + else if (c0.g < 0.13) + green = 0.13; + else if (c0.g < 0.26) + green = 0.26; + else if (c0.g < 0.33) + green = 0.33; + else if (c0.g < 0.46) + green = 0.46; + else if (c0.g < 0.60) + green = 0.60; + else if (c0.g < 0.73) + green = 0.73; + else if (c0.g < 0.80) + green = 0.80; + else if( c0.g < 0.93) + green = 0.93; + else + green = 1.0; - ocol0 = vec4(red, green, blue, c0.a); + ocol0 = vec4(red, green, blue, c0.a); } diff --git a/Data/Sys/Shaders/FXAA.glsl b/Data/Sys/Shaders/FXAA.glsl index 99caff7d03..afcbe5e47d 100644 --- a/Data/Sys/Shaders/FXAA.glsl +++ b/Data/Sys/Shaders/FXAA.glsl @@ -1,18 +1,16 @@ -/* - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 +// DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +// Version 2, December 2004 -Copyright (C) 2013 mudlord +// Copyright (C) 2013 mudlord -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. +// Everyone is permitted to copy and distribute verbatim or modified +// copies of this license document, and changing it is allowed as long +// as the name is changed. - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +// DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +// TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. You just DO WHAT THE FUCK YOU WANT TO. -*/ +// 0. You just DO WHAT THE FUCK YOU WANT TO. uniform sampler2D samp9; @@ -20,53 +18,53 @@ out vec4 ocol0; in vec2 uv0; uniform vec4 resolution; -#define FXAA_REDUCE_MIN (1.0/ 128.0) -#define FXAA_REDUCE_MUL (1.0 / 8.0) -#define FXAA_SPAN_MAX 8.0 +#define FXAA_REDUCE_MIN (1.0/ 128.0) +#define FXAA_REDUCE_MUL (1.0 / 8.0) +#define FXAA_SPAN_MAX 8.0 vec4 applyFXAA(vec2 fragCoord, sampler2D tex) { - vec4 color; - vec2 inverseVP = resolution.zw; - vec3 rgbNW = texture(tex, (fragCoord + vec2(-1.0, -1.0)) * inverseVP).xyz; - vec3 rgbNE = texture(tex, (fragCoord + vec2(1.0, -1.0)) * inverseVP).xyz; - vec3 rgbSW = texture(tex, (fragCoord + vec2(-1.0, 1.0)) * inverseVP).xyz; - vec3 rgbSE = texture(tex, (fragCoord + vec2(1.0, 1.0)) * inverseVP).xyz; - vec3 rgbM = texture(tex, fragCoord * inverseVP).xyz; - vec3 luma = vec3(0.299, 0.587, 0.114); - float lumaNW = dot(rgbNW, luma); - float lumaNE = dot(rgbNE, luma); - float lumaSW = dot(rgbSW, luma); - float lumaSE = dot(rgbSE, luma); - float lumaM = dot(rgbM, luma); - float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); - float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); - - vec2 dir; - dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); - dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); - - float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * - (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN); - - float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce); - dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX), - max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), - dir * rcpDirMin)) * inverseVP; - - vec3 rgbA = 0.5 * ( - texture(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz + - texture(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz); - vec3 rgbB = rgbA * 0.5 + 0.25 * ( - texture(tex, fragCoord * inverseVP + dir * -0.5).xyz + - texture(tex, fragCoord * inverseVP + dir * 0.5).xyz); + vec4 color; + vec2 inverseVP = resolution.zw; + vec3 rgbNW = texture(tex, (fragCoord + vec2(-1.0, -1.0)) * inverseVP).xyz; + vec3 rgbNE = texture(tex, (fragCoord + vec2(1.0, -1.0)) * inverseVP).xyz; + vec3 rgbSW = texture(tex, (fragCoord + vec2(-1.0, 1.0)) * inverseVP).xyz; + vec3 rgbSE = texture(tex, (fragCoord + vec2(1.0, 1.0)) * inverseVP).xyz; + vec3 rgbM = texture(tex, fragCoord * inverseVP).xyz; + vec3 luma = vec3(0.299, 0.587, 0.114); + float lumaNW = dot(rgbNW, luma); + float lumaNE = dot(rgbNE, luma); + float lumaSW = dot(rgbSW, luma); + float lumaSE = dot(rgbSE, luma); + float lumaM = dot(rgbM, luma); + float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); + float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); - float lumaB = dot(rgbB, luma); - if ((lumaB < lumaMin) || (lumaB > lumaMax)) - color = vec4(rgbA, 1.0); - else - color = vec4(rgbB, 1.0); - return color; + vec2 dir; + dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); + dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); + + float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * + (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN); + + float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce); + dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX), + max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), + dir * rcpDirMin)) * inverseVP; + + vec3 rgbA = 0.5 * ( + texture(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz + + texture(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz); + vec3 rgbB = rgbA * 0.5 + 0.25 * ( + texture(tex, fragCoord * inverseVP + dir * -0.5).xyz + + texture(tex, fragCoord * inverseVP + dir * 0.5).xyz); + + float lumaB = dot(rgbB, luma); + if ((lumaB < lumaMin) || (lumaB > lumaMax)) + color = vec4(rgbA, 1.0); + else + color = vec4(rgbB, 1.0); + return color; } void main() diff --git a/Data/Sys/Shaders/acidmetal.glsl b/Data/Sys/Shaders/acidmetal.glsl index d52efb35a2..b34626b709 100644 --- a/Data/Sys/Shaders/acidmetal.glsl +++ b/Data/Sys/Shaders/acidmetal.glsl @@ -6,8 +6,8 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); - float red = 0.0; - float blue = 0.0; + float red = 0.0; + float blue = 0.0; if (c0.r > 0.15 && c0.b > 0.15) { diff --git a/Data/Sys/Shaders/acidtrip.glsl b/Data/Sys/Shaders/acidtrip.glsl index d7580ca50a..ff40955626 100644 --- a/Data/Sys/Shaders/acidtrip.glsl +++ b/Data/Sys/Shaders/acidtrip.glsl @@ -7,5 +7,5 @@ uniform vec4 resolution; void main() { - ocol0 = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw)) * 8.0; + ocol0 = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw)) * 8.0; } diff --git a/Data/Sys/Shaders/acidtrip2.glsl b/Data/Sys/Shaders/acidtrip2.glsl index b67f4ecfaa..0fbc3d5135 100644 --- a/Data/Sys/Shaders/acidtrip2.glsl +++ b/Data/Sys/Shaders/acidtrip2.glsl @@ -7,7 +7,7 @@ uniform vec4 resolution; void main() { - vec4 a = texture(samp9, uv0+resolution.zw); - vec4 b = texture(samp9, uv0-resolution.zw); - ocol0 = ( a*a*1.3 - b ) * 8.0; + vec4 a = texture(samp9, uv0+resolution.zw); + vec4 b = texture(samp9, uv0-resolution.zw); + ocol0 = ( a*a*1.3 - b ) * 8.0; } diff --git a/Data/Sys/Shaders/asciiart.glsl b/Data/Sys/Shaders/asciiart.glsl index d8cfbb4c0d..f9f5ab7788 100644 --- a/Data/Sys/Shaders/asciiart.glsl +++ b/Data/Sys/Shaders/asciiart.glsl @@ -1,4 +1,5 @@ -uniform sampler2D samp8; // textures +// textures +uniform sampler2D samp8; uniform sampler2D samp9; const int char_width = 8; @@ -15,81 +16,85 @@ uniform vec4 resolution; void main() { - vec2 char_pos = floor(uv0*resolution.xy/char_dim); - vec2 pixel_offset = floor(uv0*resolution.xy) - char_pos*char_dim; + vec2 char_pos = floor(uv0*resolution.xy/char_dim); + vec2 pixel_offset = floor(uv0*resolution.xy) - char_pos*char_dim; - float mindiff = float(char_width*char_height) * 100.0; // just a big number - float minc = 0.0; - vec4 mina = vec4(0.0, 0.0, 0.0, 0.0); - vec4 minb = vec4(0.0, 0.0, 0.0, 0.0); - - for(int i=0; i= colorB && rr == false ){ - if (count == 1){ - if(colorN >= 0.1) + float colorN = 0.0; + float colorB = 0.0; + + for (count = 1; count <= numColors; count++) + { + colorN = float(count / numColors); + + if ( c0.r <= colorN && c0.r >= colorB && rr == false ) + { + if (count == 1) + { + if (colorN >= 0.1) red = 0.01; else red = colorN; @@ -47,14 +48,16 @@ void main() else if (count == numColors) red = 0.95; else - red = colorN ; - + red = colorN; + rr = true; } - if (c0.b <= colorN && c0.b >= colorB && bb == false){ - if (count == 1){ - if(colorN >= 0.1) + if (c0.b <= colorN && c0.b >= colorB && bb == false) + { + if (count == 1) + { + if (colorN >= 0.1) blue = 0.01; else blue = colorN; @@ -64,29 +67,30 @@ void main() else blue = colorN ; - bb = true; + bb = true; } - if (c0.g <= colorN && c0.g >= colorB && gg == false){ - if (count == 1){ - if(colorN >= 0.1) + if (c0.g <= colorN && c0.g >= colorB && gg == false) + { + if (count == 1) + { + if (colorN >= 0.1) green = 0.01; else green = colorN; } else if (count == numColors) - green = 0.95 ; + green = 0.95; else - green = colorN ; - gg = true; + green = colorN; + gg = true; } - + colorB = float(count / numColors); - if(rr == true && bb == true && gg == true) + + if (rr == true && bb == true && gg == true) break; } - - - ocol0 = float4(red, green, blue, c0.a); + ocol0 = float4(red, green, blue, c0.a); } diff --git a/Data/Sys/Shaders/bad_bloom.glsl b/Data/Sys/Shaders/bad_bloom.glsl index 5ccfee4da6..4e0c96afa6 100644 --- a/Data/Sys/Shaders/bad_bloom.glsl +++ b/Data/Sys/Shaders/bad_bloom.glsl @@ -7,37 +7,37 @@ uniform vec4 resolution; void main() { - float4 c_center = texture(samp9, uv0); + float4 c_center = texture(samp9, uv0); - float4 bloom_sum = float4(0.0, 0.0, 0.0, 0.0); - vec2 pos = uv0 + float2(0.3, 0.3) * resolution.zw; - float2 radius1 = 1.3 * resolution.zw; - bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius1); - bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius1); - bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius1); - bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius1); - bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius1); - bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius1); - bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius1); - bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius1); + float4 bloom_sum = float4(0.0, 0.0, 0.0, 0.0); + vec2 pos = uv0 + float2(0.3, 0.3) * resolution.zw; + float2 radius1 = 1.3 * resolution.zw; + bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius1); + bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius1); + bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius1); + bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius1); + bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius1); + bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius1); + bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius1); + bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius1); - float2 radius2 = 4.6 * resolution.zw; - bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius2); - bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius2); - bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius2); - bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius2); - bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius2); - bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius2); - bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius2); - bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius2); + float2 radius2 = 4.6 * resolution.zw; + bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius2); + bloom_sum += texture(samp9, pos + float2(-2.5, 0.0) * radius2); + bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius2); + bloom_sum += texture(samp9, pos + float2(0.0, 2.5) * radius2); + bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius2); + bloom_sum += texture(samp9, pos + float2(2.5, 0.0) * radius2); + bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius2); + bloom_sum += texture(samp9, pos + float2(0.0, -2.5) * radius2); - bloom_sum *= 0.07; - bloom_sum -= float4(0.3, 0.3, 0.3, 0.3); - bloom_sum = max(bloom_sum, float4(0.0, 0.0, 0.0, 0.0)); + bloom_sum *= 0.07; + bloom_sum -= float4(0.3, 0.3, 0.3, 0.3); + bloom_sum = max(bloom_sum, float4(0.0, 0.0, 0.0, 0.0)); - float2 vpos = (uv0 - float2(0.5, 0.5)) * 2.0; - float dist = (dot(vpos, vpos)); - dist = 1.0 - 0.4*dist; + float2 vpos = (uv0 - float2(0.5, 0.5)) * 2.0; + float dist = (dot(vpos, vpos)); + dist = 1.0 - 0.4*dist; - ocol0 = (c_center * 0.7 + bloom_sum) * dist; + ocol0 = (c_center * 0.7 + bloom_sum) * dist; } diff --git a/Data/Sys/Shaders/chrismas.glsl b/Data/Sys/Shaders/chrismas.glsl index 4e3038c1ac..c01536a332 100644 --- a/Data/Sys/Shaders/chrismas.glsl +++ b/Data/Sys/Shaders/chrismas.glsl @@ -6,12 +6,13 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); - float red = 0.0; - float green = 0.0; + float red = 0.0; + float green = 0.0; if (c0.r < 0.35 || c0.b > 0.35) green = c0.g + (c0.b / 2.0); else red = c0.r + 0.4; + ocol0 = vec4(red, green, 0.0, 1.0); } diff --git a/Data/Sys/Shaders/cool1.glsl b/Data/Sys/Shaders/cool1.glsl index 22086fe13c..6c1b7d5875 100644 --- a/Data/Sys/Shaders/cool1.glsl +++ b/Data/Sys/Shaders/cool1.glsl @@ -6,9 +6,9 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); - float red = 0.0; - float green = 0.0; - float blue = 0.0; + float red = 0.0; + float green = 0.0; + float blue = 0.0; if (c0.r < 0.50 || c0.b > 0.5) { @@ -20,5 +20,6 @@ void main() blue = c0.r; green = c0.r; } + ocol0 = vec4(red, green, blue, 1.0); } diff --git a/Data/Sys/Shaders/darkerbrighter.glsl b/Data/Sys/Shaders/darkerbrighter.glsl index 00442afe2d..291ede4d3e 100644 --- a/Data/Sys/Shaders/darkerbrighter.glsl +++ b/Data/Sys/Shaders/darkerbrighter.glsl @@ -7,35 +7,34 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0); - float4 c1 = texture(samp9, uv0 - float2(1.0, 0.0)*resolution.zw); - float4 c2 = texture(samp9, uv0 - float2(0.0, 1.0)*resolution.zw); - float4 c3 = texture(samp9, uv0 + float2(1.0, 0.0)*resolution.zw); - float4 c4 = texture(samp9, uv0 + float2(0.0, 1.0)*resolution.zw); + float4 c0 = texture(samp9, uv0); + float4 c1 = texture(samp9, uv0 - float2(1.0, 0.0) * resolution.zw); + float4 c2 = texture(samp9, uv0 - float2(0.0, 1.0) * resolution.zw); + float4 c3 = texture(samp9, uv0 + float2(1.0, 0.0) * resolution.zw); + float4 c4 = texture(samp9, uv0 + float2(0.0, 1.0) * resolution.zw); - float red = c0.r; - float blue = c0.b; - float green = c0.g; + float red = c0.r; + float blue = c0.b; + float green = c0.g; - float red2 = (c1.r + c2.r + c3.r + c4.r) / 4.0; - float blue2 = (c1.b + c2.b + c3.b + c4.b) / 4.0; - float green2 = (c1.g + c2.g + c3.g + c4.g) / 4.0; + float red2 = (c1.r + c2.r + c3.r + c4.r) / 4.0; + float blue2 = (c1.b + c2.b + c3.b + c4.b) / 4.0; + float green2 = (c1.g + c2.g + c3.g + c4.g) / 4.0; - if(red2 > 0.3) - red = c0.r + c0.r / 2.0; - else - red = c0.r - c0.r / 2.0; + if (red2 > 0.3) + red = c0.r + c0.r / 2.0; + else + red = c0.r - c0.r / 2.0; - if(green2 > 0.3) + if (green2 > 0.3) green = c0.g+ c0.g / 2.0; - else + else green = c0.g - c0.g / 2.0; - - - if(blue2 > 0.3) + + if (blue2 > 0.3) blue = c0.b+ c0.b / 2.0; - else + else blue = c0.b - c0.b / 2.0; - - ocol0 = float4(red, green, blue, c0.a); + + ocol0 = float4(red, green, blue, c0.a); } diff --git a/Data/Sys/Shaders/emboss.glsl b/Data/Sys/Shaders/emboss.glsl index f3f3d7d0a0..7b9b2212a4 100644 --- a/Data/Sys/Shaders/emboss.glsl +++ b/Data/Sys/Shaders/emboss.glsl @@ -7,18 +7,18 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0).rgba; - float4 c1 = texture(samp9, uv0 + float2(5.0,5.0)*resolution.zw).rgba; - float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b); - float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3.0; - float red = c0.r; - float green = c0.g; - float blue = c0.b; - float alpha = c0.a; - - red = y2 + (1.0 - y); - green = y2 + (1.0 - y); - blue = y2 + (1.0 - y); + float4 c0 = texture(samp9, uv0).rgba; + float4 c1 = texture(samp9, uv0 + float2(5.0,5.0)*resolution.zw).rgba; + float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b); + float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3.0; + float red = c0.r; + float green = c0.g; + float blue = c0.b; + float alpha = c0.a; - ocol0 = float4(red, green, blue, alpha); + red = y2 + (1.0 - y); + green = y2 + (1.0 - y); + blue = y2 + (1.0 - y); + + ocol0 = float4(red, green, blue, alpha); } diff --git a/Data/Sys/Shaders/fire.glsl b/Data/Sys/Shaders/fire.glsl index 22a9ec4a17..106a4ef521 100644 --- a/Data/Sys/Shaders/fire.glsl +++ b/Data/Sys/Shaders/fire.glsl @@ -6,15 +6,13 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); - float red = 0.0; - float green = 0.0; - float blue = 0.0; + float red = 0.0; + float green = 0.0; + float blue = 0.0; red = c0.r; - - if (c0.r > 0.0) - if (c0.g > c0.r) + if (c0.r > 0.0 && c0.g > c0.r) green = (c0.g - (c0.g - c0.r)) / 3.0; if (c0.b > 0.0 && c0.r < 0.25) diff --git a/Data/Sys/Shaders/fire2.glsl b/Data/Sys/Shaders/fire2.glsl index 73360b630b..f8f7e7a92b 100644 --- a/Data/Sys/Shaders/fire2.glsl +++ b/Data/Sys/Shaders/fire2.glsl @@ -6,9 +6,9 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); - float red = 0.0; - float green = 0.0; - float blue = 0.0; + float red = 0.0; + float green = 0.0; + float blue = 0.0; float avg = (c0.r + c0.g + c0.b) / 3.0; red = c0.r + (c0.g / 2.0) + (c0.b / 3.0); diff --git a/Data/Sys/Shaders/firewater.glsl b/Data/Sys/Shaders/firewater.glsl index add2d54e72..b21e9db87d 100644 --- a/Data/Sys/Shaders/firewater.glsl +++ b/Data/Sys/Shaders/firewater.glsl @@ -7,16 +7,16 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0); - float4 c1 = texture(samp9, uv0 + float2(1,1)*resolution.zw); - float4 c2 = texture(samp9, uv0 + float2(-1,-1)*resolution.zw); - float red = c0.r; - float green = c0.g; - float blue = c0.b; - float alpha = c0.a; - - red = c0.r - c1.b; - blue = c0.b - c2.r + (c0.g - c0.r); + float4 c0 = texture(samp9, uv0); + float4 c1 = texture(samp9, uv0 + float2(1,1)*resolution.zw); + float4 c2 = texture(samp9, uv0 + float2(-1,-1)*resolution.zw); + float red = c0.r; + float green = c0.g; + float blue = c0.b; + float alpha = c0.a; - ocol0 = float4(red, 0.0, blue, alpha); -} \ No newline at end of file + red = c0.r - c1.b; + blue = c0.b - c2.r + (c0.g - c0.r); + + ocol0 = float4(red, 0.0, blue, alpha); +} diff --git a/Data/Sys/Shaders/invertedoutline.glsl b/Data/Sys/Shaders/invertedoutline.glsl index 66d24fb5ca..70363ddbbd 100644 --- a/Data/Sys/Shaders/invertedoutline.glsl +++ b/Data/Sys/Shaders/invertedoutline.glsl @@ -7,8 +7,8 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0); - float4 c1 = texture(samp9, uv0 + float2(5,5)*resolution.zw); + float4 c0 = texture(samp9, uv0); + float4 c1 = texture(samp9, uv0 + float2(5,5)*resolution.zw); - ocol0 = c0 - c1; -} \ No newline at end of file + ocol0 = c0 - c1; +} diff --git a/Data/Sys/Shaders/mad_world.glsl b/Data/Sys/Shaders/mad_world.glsl index 2e627abb57..63e46ecc39 100644 --- a/Data/Sys/Shaders/mad_world.glsl +++ b/Data/Sys/Shaders/mad_world.glsl @@ -7,16 +7,20 @@ uniform vec4 resolution; void main() { - float4 emboss = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw))*2.0; - emboss -= (texture(samp9, uv0+float2(1,-1)*resolution.zw).rgba - texture(samp9, uv0+float2(-1,1)*resolution.zw).rgba); - float4 color = texture(samp9, uv0).rgba; - if (color.r > 0.8 && color.b + color.b < 0.2) - ocol0 = float4(1,0,0,0); - else { - color += emboss; - if (dot(color.rgb, float3(0.3, 0.5, 0.2)) > 0.5) - ocol0 = float4(1,1,1,1); - else - ocol0 = float4(0,0,0,0); - } -} \ No newline at end of file + float4 emboss = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw))*2.0; + emboss -= (texture(samp9, uv0+float2(1,-1)*resolution.zw).rgba - texture(samp9, uv0+float2(-1,1)*resolution.zw).rgba); + float4 color = texture(samp9, uv0).rgba; + + if (color.r > 0.8 && color.b + color.b < 0.2) + { + ocol0 = float4(1,0,0,0); + } + else + { + color += emboss; + if (dot(color.rgb, float3(0.3, 0.5, 0.2)) > 0.5) + ocol0 = float4(1,1,1,1); + else + ocol0 = float4(0,0,0,0); + } +} diff --git a/Data/Sys/Shaders/nightvision.glsl b/Data/Sys/Shaders/nightvision.glsl index ff98cb03b9..42f0fe441e 100644 --- a/Data/Sys/Shaders/nightvision.glsl +++ b/Data/Sys/Shaders/nightvision.glsl @@ -5,13 +5,11 @@ in vec2 uv0; void main() { - float4 c0 = texture(samp9, uv0).rgba; - float green = c0.g; + float4 c0 = texture(samp9, uv0).rgba; + float green = c0.g; - if (c0.g < 0.50) - { - green = c0.r + c0.b; - } + if (c0.g < 0.50) + green = c0.r + c0.b; - ocol0 = float4(0.0, green, 0.0, 1.0); -} \ No newline at end of file + ocol0 = float4(0.0, green, 0.0, 1.0); +} diff --git a/Data/Sys/Shaders/nightvision2.glsl b/Data/Sys/Shaders/nightvision2.glsl index 37a962c650..3f5910c46b 100644 --- a/Data/Sys/Shaders/nightvision2.glsl +++ b/Data/Sys/Shaders/nightvision2.glsl @@ -7,50 +7,63 @@ uniform vec4 resolution; void main() { - //variables - float internalresolution = 1278.0; - float4 c0 = texture(samp9, uv0).rgba; - //blur - float4 blurtotal = float4(0.0, 0.0, 0.0, 0.0); - float blursize = 1.5; - blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2(-blursize, blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2(-blursize, 0.0)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, 0.0)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( 0.0, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( 0.0, blursize)*resolution.zw); - blurtotal *= 0.125; - c0 = blurtotal; - //greyscale - float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); - // brighten - grey = grey * 0.5 + 0.7; - // darken edges - float x = uv0.x * resolution.x; - float y = uv0.y * resolution.y; - if (x > internalresolution/2.0) x = internalresolution-x; - if (y > internalresolution/2.0) y = internalresolution-y; - if (x > internalresolution/2.0*0.95) x = internalresolution/2.0*0.95; - if (y > internalresolution/2.0*0.95) y = internalresolution/2.0*0.95; - x = -x+641.0; - y = -y+641.0; - /*****inline square root routines*****/ - // bit of a performance bottleneck. - // neccessary to make the darkened area rounded - // instead of rhombus-shaped. - float sqrt = x / 10.0; - while((sqrt*sqrt) < x) sqrt+=0.1; - x = sqrt; - sqrt = y / 10.0; - while((sqrt*sqrt) < y) sqrt+=0.1; - y = sqrt; - /*****end of inline square root routines*****/ - x *= 2.0; - y *= 2.0; - grey -= x / 200.0; - grey -= y / 200.0; - // output - ocol0 = float4(0.0, grey, 0.0, 1.0); + //variables + float internalresolution = 1278.0; + float4 c0 = texture(samp9, uv0).rgba; + + //blur + float4 blurtotal = float4(0.0, 0.0, 0.0, 0.0); + float blursize = 1.5; + blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2(-blursize, blursize) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, -blursize) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, blursize) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2(-blursize, 0.0) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, 0.0) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2( 0.0, -blursize) * resolution.zw); + blurtotal += texture(samp9, uv0 + float2( 0.0, blursize) * resolution.zw); + blurtotal *= 0.125; + c0 = blurtotal; + + //greyscale + float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); + + // brighten + grey = grey * 0.5 + 0.7; + + // darken edges + float x = uv0.x * resolution.x; + float y = uv0.y * resolution.y; + if (x > internalresolution/2.0) + x = internalresolution-x; + if (y > internalresolution/2.0) + y = internalresolution-y; + if (x > internalresolution/2.0*0.95) + x = internalresolution/2.0*0.95; + if (y > internalresolution/2.0*0.95) + y = internalresolution/2.0*0.95; + x = -x+641.0; + y = -y+641.0; + + /*****inline square root routines*****/ + // bit of a performance bottleneck. + // neccessary to make the darkened area rounded + // instead of rhombus-shaped. + float sqrt = x / 10.0; + + while ((sqrt*sqrt) < x) + sqrt+=0.1; + x = sqrt; + sqrt = y / 10.0; + while ((sqrt*sqrt) < y) + sqrt+=0.1; + y = sqrt; + + x *= 2.0; + y *= 2.0; + grey -= x / 200.0; + grey -= y / 200.0; + + // output + ocol0 = float4(0.0, grey, 0.0, 1.0); } diff --git a/Data/Sys/Shaders/nightvision2scanlines.glsl b/Data/Sys/Shaders/nightvision2scanlines.glsl index 8904e5f20f..f0b63687ad 100644 --- a/Data/Sys/Shaders/nightvision2scanlines.glsl +++ b/Data/Sys/Shaders/nightvision2scanlines.glsl @@ -7,55 +7,72 @@ uniform vec4 resolution; void main() { - //variables - float internalresolution = 1278.0; - float4 c0 = texture(samp9, uv0).rgba; - //blur - float4 blurtotal = float4(0.0, 0.0, 0.0, 0.0); - float blursize = 1.5; - blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2(-blursize, blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2(-blursize, 0.0)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( blursize, 0.0)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( 0.0, -blursize)*resolution.zw); - blurtotal += texture(samp9, uv0 + float2( 0.0, blursize)*resolution.zw); - blurtotal *= 0.125; - c0 = blurtotal; - //greyscale - float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); - // brighten and apply horizontal scanlines - // This would have been much simpler if I could get the stupid modulo (%) to work - // If anyone who is more well versed in Cg knows how to do this it'd be slightly more efficient - // float lineIntensity = ((uv0[1] % 9) - 4) / 40; - float vPos = uv0.y*resolution.y / 9.0; - float lineIntensity = (((vPos - floor(vPos)) * 9.0) - 4.0) / 40.0; - grey = grey * 0.5 + 0.7 + lineIntensity; - // darken edges - float x = uv0.x * resolution.x; - float y = uv0.y * resolution.y; - if (x > internalresolution/2.0) x = internalresolution-x; - if (y > internalresolution/2.0) y = internalresolution-y; - if (x > internalresolution/2.0*0.95) x = internalresolution/2.0*0.95; - if (y > internalresolution/2.0*0.95) y = internalresolution/2.0*0.95; - x = -x + 641.0; - y = -y + 641.0; - /*****inline square root routines*****/ - // bit of a performance bottleneck. - // neccessary to make the darkened area rounded - // instead of rhombus-shaped. - float sqrt = x / 10.0; - while((sqrt*sqrt) < x) sqrt+=0.1; - x = sqrt; - sqrt = y / 10.0; - while((sqrt*sqrt) < y) sqrt+=0.1; - y = sqrt; - /*****end of inline square root routines*****/ - x *= 2.0; - y *= 2.0; - grey -= x / 200.0; - grey -= y / 200.0; - // output - ocol0 = float4(0.0, grey, 0.0, 1.0); + //variables + float internalresolution = 1278.0; + float4 c0 = texture(samp9, uv0).rgba; + + //blur + float4 blurtotal = float4(0.0, 0.0, 0.0, 0.0); + float blursize = 1.5; + blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2(-blursize, blursize)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, -blursize)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, blursize)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2(-blursize, 0.0)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2( blursize, 0.0)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2( 0.0, -blursize)*resolution.zw); + blurtotal += texture(samp9, uv0 + float2( 0.0, blursize)*resolution.zw); + blurtotal *= 0.125; + c0 = blurtotal; + + //greyscale + float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); + + // brighten and apply horizontal scanlines + // This would have been much simpler if I could get the stupid modulo (%) to work + // If anyone who is more well versed in Cg knows how to do this it'd be slightly more efficient + // float lineIntensity = ((uv0[1] % 9) - 4) / 40; + float vPos = uv0.y*resolution.y / 9.0; + float lineIntensity = (((vPos - floor(vPos)) * 9.0) - 4.0) / 40.0; + grey = grey * 0.5 + 0.7 + lineIntensity; + + // darken edges + float x = uv0.x * resolution.x; + float y = uv0.y * resolution.y; + + if (x > internalresolution/2.0) + x = internalresolution-x; + + if (y > internalresolution/2.0) + y = internalresolution-y; + + if (x > internalresolution/2.0*0.95) + x = internalresolution/2.0*0.95; + + if (y > internalresolution/2.0*0.95) + y = internalresolution/2.0*0.95; + + x = -x + 641.0; + y = -y + 641.0; + + //****inline square root routines*****/ + // bit of a performance bottleneck. + // neccessary to make the darkened area rounded + // instead of rhombus-shaped. + float sqrt = x / 10.0; + while ((sqrt*sqrt) < x) + sqrt+=0.1; + x = sqrt; + sqrt = y / 10.0; + while ((sqrt*sqrt) < y) + sqrt+=0.1; + y = sqrt; + + x *= 2.0; + y *= 2.0; + grey -= x / 200.0; + grey -= y / 200.0; + + // output + ocol0 = float4(0.0, grey, 0.0, 1.0); } diff --git a/Data/Sys/Shaders/posterize.glsl b/Data/Sys/Shaders/posterize.glsl index 602a412929..f09563014a 100644 --- a/Data/Sys/Shaders/posterize.glsl +++ b/Data/Sys/Shaders/posterize.glsl @@ -5,25 +5,19 @@ in vec2 uv0; void main() { - float4 c0 = texture(samp9, uv0).rgba; - float red = 0.0; - float green = 0.0; - float blue = 0.0; + float4 c0 = texture(samp9, uv0).rgba; + float red = 0.0; + float green = 0.0; + float blue = 0.0; - if (c0.r > 0.25) - { - red = c0.r; - } + if (c0.r > 0.25) + red = c0.r; - if (c0.g > 0.25) - { - green = c0.g; - } + if (c0.g > 0.25) + green = c0.g; - if (c0.b > 0.25) - { - blue = c0.b; - } + if (c0.b > 0.25) + blue = c0.b; - ocol0 = float4(red, green, blue, 1.0); -} \ No newline at end of file + ocol0 = float4(red, green, blue, 1.0); +} diff --git a/Data/Sys/Shaders/posterize2.glsl b/Data/Sys/Shaders/posterize2.glsl index fc6c2ef5c9..b2c47533a1 100644 --- a/Data/Sys/Shaders/posterize2.glsl +++ b/Data/Sys/Shaders/posterize2.glsl @@ -5,20 +5,19 @@ in vec2 uv0; float bound(float color) { - if (color < 0.35) - { - if (color < 0.25) + if (color < 0.35) { - return color; + if (color < 0.25) + return color; + + return 0.5; } - return 0.5; - } -return 1.0; + + return 1.0; } void main() { - float4 c0 = texture(samp9, uv0); - ocol0 = float4(bound(c0.r), bound(c0.g), bound(c0.b), c0.a); + float4 c0 = texture(samp9, uv0); + ocol0 = float4(bound(c0.r), bound(c0.g), bound(c0.b), c0.a); } - diff --git a/Data/Sys/Shaders/primarycolors.glsl b/Data/Sys/Shaders/primarycolors.glsl index 390492a33e..29ae0ac200 100644 --- a/Data/Sys/Shaders/primarycolors.glsl +++ b/Data/Sys/Shaders/primarycolors.glsl @@ -13,54 +13,66 @@ void main() float max = 0.8; float min = 0.3; - if(c0.r > c0.g && c0.b > c0.g){ - if(c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05){ + if (c0.r > c0.g && c0.b > c0.g) + { + if (c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05) + { red = 0.7; blue = 0.7; green = 0.05; } - else if(c0.r > c0.b + 0.05){ + else if (c0.r > c0.b + 0.05) + { red = 0.7; blue = 0.05; green = 0.05; } - else if (c0.b > c0.r + 0.05){ + else if (c0.b > c0.r + 0.05) + { red = 0.05; blue = 0.7; green = 0.05; } } - if(c0.r > c0.b && c0.g > c0.b){ - if(c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05){ + if (c0.r > c0.b && c0.g > c0.b) + { + if (c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05) + { red = 0.7; blue = 0.05; green = 0.7; } - else if(c0.r > c0.g + 0.05){ + else if (c0.r > c0.g + 0.05) + { red = 0.7; blue = 0.05; green = 0.05; } - else if (c0.g > c0.r + 0.05){ + else if (c0.g > c0.r + 0.05) + { red = 0.05; blue = 0.05; green = 0.7; } } - if(c0.g > c0.r && c0.b > c0.r){ - if(c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05){ + if (c0.g > c0.r && c0.b > c0.r) + { + if (c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05) + { red = 0.05; blue = 0.7; green = 0.7; } - else if(c0.g > c0.b + 0.05){ + else if (c0.g > c0.b + 0.05) + { red = 0.05; blue = 0.05; green = 0.7; } - else if (c0.b > c0.g + 0.05){ + else if (c0.b > c0.g + 0.05) + { red = 0.05; blue = 0.7; green = 0.05; diff --git a/Data/Sys/Shaders/sepia.glsl b/Data/Sys/Shaders/sepia.glsl index 88f5c15de7..83ac0b1e37 100644 --- a/Data/Sys/Shaders/sepia.glsl +++ b/Data/Sys/Shaders/sepia.glsl @@ -6,9 +6,11 @@ in vec2 uv0; void main() { vec4 c0 = texture(samp9, uv0); + // Same coefficients as grayscale2 at this point float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b); float red=avg; + // Not sure about these coefficients, they just seem to produce the proper yellow float green=avg*.75; float blue=avg*.5; diff --git a/Data/Sys/Shaders/sketchy.glsl b/Data/Sys/Shaders/sketchy.glsl index 525b0ebc9c..a91e404108 100644 --- a/Data/Sys/Shaders/sketchy.glsl +++ b/Data/Sys/Shaders/sketchy.glsl @@ -7,16 +7,18 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0).rgba; - float4 tmp = float4(0.0, 0.0, 0.0, 0.0); - tmp += c0 - texture(samp9, uv0 + float2(2.0, 2.0)*resolution.zw).rgba; - tmp += c0 - texture(samp9, uv0 - float2(2.0, 2.0)*resolution.zw).rgba; - tmp += c0 - texture(samp9, uv0 + float2(2.0, -2.0)*resolution.zw).rgba; - tmp += c0 - texture(samp9, uv0 - float2(2.0, -2.0)*resolution.zw).rgba; - float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b)); - // get rid of the bottom line, as it is incorrect. - if (uv0.y*resolution.y < 163.0) - tmp = float4(1.0, 1.0, 1.0, 1.0); - c0 = c0 + 1.0 - grey * 7.0; - ocol0 = float4(c0.r, c0.g, c0.b, 1.0); + float4 c0 = texture(samp9, uv0).rgba; + float4 tmp = float4(0.0, 0.0, 0.0, 0.0); + tmp += c0 - texture(samp9, uv0 + float2(2.0, 2.0)*resolution.zw).rgba; + tmp += c0 - texture(samp9, uv0 - float2(2.0, 2.0)*resolution.zw).rgba; + tmp += c0 - texture(samp9, uv0 + float2(2.0, -2.0)*resolution.zw).rgba; + tmp += c0 - texture(samp9, uv0 - float2(2.0, -2.0)*resolution.zw).rgba; + float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b)); + + // get rid of the bottom line, as it is incorrect. + if (uv0.y*resolution.y < 163.0) + tmp = float4(1.0, 1.0, 1.0, 1.0); + + c0 = c0 + 1.0 - grey * 7.0; + ocol0 = float4(c0.r, c0.g, c0.b, 1.0); } diff --git a/Data/Sys/Shaders/stereoscopic.glsl b/Data/Sys/Shaders/stereoscopic.glsl index 41463fcd28..f37a246e55 100644 --- a/Data/Sys/Shaders/stereoscopic.glsl +++ b/Data/Sys/Shaders/stereoscopic.glsl @@ -10,23 +10,22 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0).rgba; // Source Color - float sep = 5.0; - float red = c0.r; - float green = c0.g; - float blue = c0.b; - - - // Left Eye (Red) - float4 c1 = texture(samp9, uv0 + float2(sep,0.0)*resolution.zw).rgba; - red = max(c0.r, c1.r); + // Source Color + float4 c0 = texture(samp9, uv0).rgba; + float sep = 5.0; + float red = c0.r; + float green = c0.g; + float blue = c0.b; - // Right Eye (Cyan) - float4 c2 = texture(samp9, uv0 + float2(-sep,0.0)*resolution.zw).rgba; - float cyan = (c2.g + c2.b) / 2.0; - green = max(c0.g, cyan); - blue = max(c0.b, cyan); + // Left Eye (Red) + float4 c1 = texture(samp9, uv0 + float2(sep,0.0)*resolution.zw).rgba; + red = max(c0.r, c1.r); - - ocol0 = float4(red, green, blue, c0.a); + // Right Eye (Cyan) + float4 c2 = texture(samp9, uv0 + float2(-sep,0.0)*resolution.zw).rgba; + float cyan = (c2.g + c2.b) / 2.0; + green = max(c0.g, cyan); + blue = max(c0.b, cyan); + + ocol0 = float4(red, green, blue, c0.a); } diff --git a/Data/Sys/Shaders/stereoscopic2.glsl b/Data/Sys/Shaders/stereoscopic2.glsl index ed72341745..f7370c7d5f 100644 --- a/Data/Sys/Shaders/stereoscopic2.glsl +++ b/Data/Sys/Shaders/stereoscopic2.glsl @@ -10,23 +10,22 @@ uniform vec4 resolution; void main() { - float4 c0 = texture(samp9, uv0).rgba; // Source Color - float sep = 5.0; - float red = c0.r; - float green = c0.g; - float blue = c0.b; + // Source Color + float4 c0 = texture(samp9, uv0).rgba; + float sep = 5.0; + float red = c0.r; + float green = c0.g; + float blue = c0.b; - - // Left Eye (Amber) - float4 c2 = texture(samp9, uv0 + float2(sep,0.0)*resolution.zw).rgba; - float amber = (c2.r + c2.g) / 2.0; - red = max(c0.r, amber); - green = max(c0.g, amber); + // Left Eye (Amber) + float4 c2 = texture(samp9, uv0 + float2(sep,0.0)*resolution.zw).rgba; + float amber = (c2.r + c2.g) / 2.0; + red = max(c0.r, amber); + green = max(c0.g, amber); - // Right Eye (Blue) - float4 c1 = texture(samp9, uv0 + float2(-sep,0.0)*resolution.zw).rgba; - blue = max(c0.b, c1.b); + // Right Eye (Blue) + float4 c1 = texture(samp9, uv0 + float2(-sep,0.0)*resolution.zw).rgba; + blue = max(c0.b, c1.b); - - ocol0 = float4(red, green, blue, c0.a); + ocol0 = float4(red, green, blue, c0.a); }