motion blur for fun

This commit is contained in:
Eduardo Bart 2012-03-28 14:32:34 -03:00
parent 56d6cc2cc0
commit 8c2a84b6be
4 changed files with 3 additions and 20 deletions

View File

@ -4,25 +4,7 @@ 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;
}

View File

@ -115,7 +115,7 @@ void Graphics::endRender()
{
// this is a simple blur effect
static Timer timer;
if(timer.ticksElapsed() >= 15) {
if(timer.ticksElapsed() >= 10) {
glAccum(GL_MULT, 0.8);
glAccum(GL_ACCUM, 0.2);
timer.restart();

View File

@ -306,7 +306,7 @@ void WIN32Window::internalChooseGLVisual()
0, // No Alpha Buffer
0, // Shift Bit Ignored
0, // No Accumulation Buffer
0, 0, 0, 0, // Accumulation Bits Ignored
8, 8, 8, 8, // Accumulation Bits Ignored
16, // 16Bit Z-Buffer (Depth Buffer)
1, // 1Bit Stencil Buffer
0, // No Auxiliary Buffer

View File

@ -367,6 +367,7 @@ 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,