motion blur for fun
This commit is contained in:
parent
56d6cc2cc0
commit
8c2a84b6be
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue