I write below code to simulate a motion blur effect,but I always feel it is not good,and I can’t find out where the problem is,so I post my code to hope some advise,thank!
//draw a normal quad
glColor4f[1.0f,1.0f,1.0f,1.0f];
glPushMatrix[];
setupMotionMatrix[ratio];
drawQuad[];
glPopMatrix[];
Why not use the accumulation buffer if you insist on drawing the geometry multiple times ? That is an very easy approach, which generates good motion blur. But it is too slow for more advanced scenes, like ingame scenes.
I have implemented and updated the motion blur paper from Nvidia GDC2003, and I got some resonable results out of that one. Its not 100% true motion blur, but it looks pretty good imho.
There is a screen here: Motion blurred teapot