From e3e5a247c58c6e0b45d81ab61314bd8d1bd530ac Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Thu, 19 Feb 2015 22:54:40 -0500 Subject: Added ability to resize window (full screen is really laggy though!) --- shaders/bloom1.fragment | 3 ++- shaders/bloom2.fragment | 3 ++- shaders/final.fragment | 14 +++++--------- 3 files changed, 9 insertions(+), 11 deletions(-) (limited to 'shaders') diff --git a/shaders/bloom1.fragment b/shaders/bloom1.fragment index 4940933..cfb2799 100644 --- a/shaders/bloom1.fragment +++ b/shaders/bloom1.fragment @@ -6,6 +6,7 @@ out vec3 color; uniform sampler2D screenTex; uniform float iGlobalTime; +uniform vec2 resolution; float nrand(vec2 n) { @@ -45,7 +46,7 @@ void main() vec2 ofs = fTaps_Poisson[i]; ofs = vec2(dot(ofs, basis.xz), dot(ofs, basis.yw)); - vec2 texcoord = UV + max_siz * ofs / vec2(1024.0,768.0); + vec2 texcoord = UV + max_siz * ofs / resolution; sum += texture(screenTex, texcoord, -10.0); } diff --git a/shaders/bloom2.fragment b/shaders/bloom2.fragment index aa69f0f..1d9cac4 100644 --- a/shaders/bloom2.fragment +++ b/shaders/bloom2.fragment @@ -7,6 +7,7 @@ out vec3 color; uniform sampler2D screenTex; uniform sampler2D downsampledTex; uniform float iGlobalTime; +uniform vec2 resolution; float nrand(vec2 n) { @@ -46,7 +47,7 @@ void main() vec2 ofs = fTaps_Poisson[i]; ofs = vec2(dot(ofs, basis.xz), dot(ofs, basis.yw)); - vec2 texcoord = UV + max_siz * ofs / vec2(64.0,48.0); + vec2 texcoord = UV + max_siz * ofs / (resolution / vec2(16.0)); sum += texture(downsampledTex, texcoord, -10.0); } diff --git a/shaders/final.fragment b/shaders/final.fragment index 7eeb78e..4a51ad3 100644 --- a/shaders/final.fragment +++ b/shaders/final.fragment @@ -11,10 +11,6 @@ out vec3 color; uniform sampler2D rendertex; uniform sampler2D scanlinestex; -const vec2 UVScalar = vec2(1.0, 1.0); -const vec2 UVOffset = vec2(0.0, 0.0); -const vec2 CRTMask_Scale = vec2(85.0, 153.6)*4.0; -const vec2 CRTMask_Offset = vec2(0.0, 0.0); const float Tuning_Overscan = 1.08; const float Tuning_Dimming = 0.0; const float Tuning_Satur = 1.0; @@ -27,18 +23,18 @@ const float Tuning_Spec_Brightness = 0.35; const float Tuning_Spec_Power = 50.0; const float Tuning_Fres_Brightness = 1.0; +uniform vec2 resolution; + vec4 sampleCRT(vec2 uv) { - vec2 ScaledUV = uv; - ScaledUV *= UVScalar; - ScaledUV += UVOffset; + vec2 CRTMask_Scale = resolution / vec2(6.0, 5.0); - vec2 scanuv = ScaledUV * CRTMask_Scale; + vec2 scanuv = uv * CRTMask_Scale; vec3 scantex = texture(scanlinestex, scanuv).rgb; scantex += Tuning_Scanline_Brightness; scantex = mix(vec3(1,1,1), scantex, Tuning_Scanline_Opacity); - vec2 overscanuv = (ScaledUV * Tuning_Overscan) - ((Tuning_Overscan - 1.0f) * 0.5f); + vec2 overscanuv = (uv * Tuning_Overscan) - ((Tuning_Overscan - 1.0f) * 0.5f); overscanuv = overscanuv - vec2(0.5, 0.5); float rsq = (overscanuv.x*overscanuv.x) + (overscanuv.y*overscanuv.y); overscanuv = overscanuv + (overscanuv * (Tuning_Barrel * rsq)) + vec2(0.5,0.5); -- cgit 1.4.1