From: <cu...@us...> - 2013-09-19 14:01:11
|
Revision: 13748 http://sourceforge.net/p/supertuxkart/code/13748 Author: curaga Date: 2013-09-19 14:01:09 +0000 (Thu, 19 Sep 2013) Log Message: ----------- Add a 6-radius gaussian Modified Paths: -------------- main/branches/cand/final/src/graphics/shaders.cpp main/branches/cand/final/src/graphics/shaders.hpp Added Paths: ----------- main/branches/cand/final/data/shaders/gaussian6h.frag main/branches/cand/final/data/shaders/gaussian6v.frag Added: main/branches/cand/final/data/shaders/gaussian6h.frag =================================================================== --- main/branches/cand/final/data/shaders/gaussian6h.frag (rev 0) +++ main/branches/cand/final/data/shaders/gaussian6h.frag 2013-09-19 14:01:09 UTC (rev 13748) @@ -0,0 +1,21 @@ +uniform sampler2D tex; +uniform vec2 pixel; + +// Gaussian separated blur with radius 6. + +void main() +{ + vec4 sum = vec4(0.0); + float X = gl_TexCoord[0].x; + float Y = gl_TexCoord[0].y; + + sum += texture2D(tex, vec2(X - 5.13333 * pixel.x, Y)) * 0.00640869; + sum += texture2D(tex, vec2(X - 3.26667 * pixel.x, Y)) * 0.083313; + sum += texture2D(tex, vec2(X - 1.4 * pixel.x, Y)) * 0.305481; + sum += texture2D(tex, vec2(X, Y)) * 0.209473; + sum += texture2D(tex, vec2(X + 1.4 * pixel.x, Y)) * 0.305481; + sum += texture2D(tex, vec2(X + 3.26667 * pixel.x, Y)) * 0.083313; + sum += texture2D(tex, vec2(X + 5.13333 * pixel.x, Y)) * 0.00640869; + + gl_FragColor = sum; +} Added: main/branches/cand/final/data/shaders/gaussian6v.frag =================================================================== --- main/branches/cand/final/data/shaders/gaussian6v.frag (rev 0) +++ main/branches/cand/final/data/shaders/gaussian6v.frag 2013-09-19 14:01:09 UTC (rev 13748) @@ -0,0 +1,21 @@ +uniform sampler2D tex; +uniform vec2 pixel; + +// Gaussian separated blur with radius 6. + +void main() +{ + vec4 sum = vec4(0.0); + float X = gl_TexCoord[0].x; + float Y = gl_TexCoord[0].y; + + sum += texture2D(tex, vec2(X, Y - 5.13333 * pixel.y)) * 0.00640869; + sum += texture2D(tex, vec2(X, Y - 3.26667 * pixel.y)) * 0.083313; + sum += texture2D(tex, vec2(X, Y - 1.4 * pixel.y)) * 0.305481; + sum += texture2D(tex, vec2(X, Y)) * 0.209473; + sum += texture2D(tex, vec2(X, Y + 1.4 * pixel.y)) * 0.305481; + sum += texture2D(tex, vec2(X, Y + 3.26667 * pixel.y)) * 0.083313; + sum += texture2D(tex, vec2(X, Y + 5.13333 * pixel.y)) * 0.00640869; + + gl_FragColor = sum; +} Modified: main/branches/cand/final/src/graphics/shaders.cpp =================================================================== --- main/branches/cand/final/src/graphics/shaders.cpp 2013-09-19 14:00:39 UTC (rev 13747) +++ main/branches/cand/final/src/graphics/shaders.cpp 2013-09-19 14:01:09 UTC (rev 13748) @@ -93,6 +93,11 @@ m_shaders[ES_GAUSSIAN3V] = glslmat(std::string(""), dir + "gaussian3v.frag", m_callbacks[ES_GAUSSIAN3V], EMT_SOLID); + m_shaders[ES_GAUSSIAN6H] = glslmat(std::string(""), dir + "gaussian6h.frag", + m_callbacks[ES_GAUSSIAN3H], EMT_SOLID); + m_shaders[ES_GAUSSIAN6V] = glslmat(std::string(""), dir + "gaussian6v.frag", + m_callbacks[ES_GAUSSIAN3V], EMT_SOLID); + m_shaders[ES_MIPVIZ] = glslmat(std::string(""), dir + "mipviz.frag", m_callbacks[ES_MIPVIZ], EMT_SOLID); Modified: main/branches/cand/final/src/graphics/shaders.hpp =================================================================== --- main/branches/cand/final/src/graphics/shaders.hpp 2013-09-19 14:00:39 UTC (rev 13747) +++ main/branches/cand/final/src/graphics/shaders.hpp 2013-09-19 14:01:09 UTC (rev 13748) @@ -39,6 +39,8 @@ ES_MIPVIZ, ES_FLIP, ES_BLOOM, + ES_GAUSSIAN6H, + ES_GAUSSIAN6V, ES_COUNT }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |