"If the blind lead the blind, both shall fall into the ditch."
- Matthew 15:14

Framework 4 (Last updated: October 25, 2019)
Framework 3 (Last updated: February 6, 2017)
Framework 2 (Last updated: October 8, 2006)
Framework (Last updated: October 8, 2006)
Libraries (Last updated: September 16, 2004)
Really old framework (Last updated: September 16, 2004)
Motion blur
Tuesday, November 19, 2002 | Permalink

Executable
Source code
MotionBlur.zip (377 KB)

Required:
WGL_ARB_render_texture/GLX_ATI_render_texture
GL_EXT_blend_color
Motion blur is another of the so called "cinematic" effects. Cinematic seams to be the buzzword of the day, but you don't need all those fancy technologies for creating motion blur though. The solution is simplier than one might think and can be expressed with a simple formula:
NewFrame = OldFrame * a + ThisFrame * (1-a)
The old frame is of course stored in the framebuffer since the last frame, so we just don't need to clear the color buffer and can blend directly. The small difference between two frames in double buffering mode doesn't really matter. We need however render the current scene into a texture.
As with the depth of field demo, no particular effort has been put into lighting and stuff.
You can change the amount of blur with the + and - keys.

Should run on Radeon 8500 and up and the whole GeForce series.