diff --git a/modules/game_shaders/map.frag b/modules/game_shaders/map.frag index f407109c..233d6903 100644 --- a/modules/game_shaders/map.frag +++ b/modules/game_shaders/map.frag @@ -4,7 +4,25 @@ uniform float time; // time in seconds since shader linkage uniform sampler2D texture; // map texture varying vec2 textureCoords; // map texture coords +/* void main() { gl_FragColor = texture2D(texture, textureCoords) * color * opacity; } +*/ +void main() +{ + vec4 sum = vec4(0); + vec2 texcoord = textureCoords; + int j; + int i; + + for( i= -4 ;i < 4; i++) + { + for (j = -4; j < 4; j++) + { + sum += texture2D(texture, texcoord + vec2(j, i)*0.0005) * 0.008; + } + } + gl_FragColor = texture2D(texture, textureCoords) * color * opacity + sum; +} diff --git a/src/framework/graphics/graphics.cpp b/src/framework/graphics/graphics.cpp index f58da236..671c9d48 100644 --- a/src/framework/graphics/graphics.cpp +++ b/src/framework/graphics/graphics.cpp @@ -49,6 +49,7 @@ void Graphics::init() #endif glEnable(GL_BLEND); + glClear(GL_ACCUM_BUFFER_BIT); m_emptyTexture = TexturePtr(new Texture); @@ -82,6 +83,7 @@ bool Graphics::parseOption(const std::string& option) void Graphics::resize(const Size& size) { setViewportSize(size); + glClear(GL_ACCUM_BUFFER_BIT); // The projection matrix converts from Painter's coordinate system to GL's coordinate system // * GL's viewport is 2x2, Painter's is width x height @@ -111,16 +113,14 @@ void Graphics::beginRender() void Graphics::endRender() { - /* // this is a simple blur effect static Timer timer; - if(timer.ticksElapsed() >= 20) { + if(timer.ticksElapsed() >= 15) { glAccum(GL_MULT, 0.8); glAccum(GL_ACCUM, 0.2); timer.restart(); } glAccum(GL_RETURN, 1); - */ } void Graphics::beginClipping(const Rect& clipRect) diff --git a/src/framework/platform/x11window.cpp b/src/framework/platform/x11window.cpp index 7a45e1b9..2ffa253a 100644 --- a/src/framework/platform/x11window.cpp +++ b/src/framework/platform/x11window.cpp @@ -367,7 +367,10 @@ void X11Window::internalChooseGLVisual() GLX_USE_GL, GLX_RGBA, GLX_DOUBLEBUFFER, - GLX_STENCIL_SIZE, 1, + GLX_ACCUM_RED_SIZE, 8, + GLX_ACCUM_GREEN_SIZE, 8, + GLX_ACCUM_BLUE_SIZE, 8, + GLX_ACCUM_ALPHA_SIZE, 8, None };