OpenGL Motion blur with the accumulation buffer in WxWidgets
I'm trying to achieve a motion blur effect in my OpenGL application.
I read somewhere this solution, using the accumulation buffer:
glAccum(GL_M开发者_如何学CULT, 0.90);
glAccum(GL_ACCUM, 0.10);
glAccum(GL_RETURN, 1.0);
glFlush();
at the end of the rendering loop.
But nothing happens... What am I missing ?
Additions after genpfault answer:
Indeed I did not asked for an accumulation buffer when I initialized my context.
So I tried to pass an array of attributes to the constructor of my wxGLCanvas
, as described here: http://docs.wxwidgets.org/2.6/wx_wxglcanvas.html :
int attribList[]={ WX_GL_RGBA , WX_GL_DOUBLEBUFFER , WX_GL_MIN_ACCUM_RED, WX_GL_MIN_ACCUM_GREEN, WX_GL_MIN_ACCUM_BLUE, 0}
But all I get is a friendly Seg fault. Does someone understand how to use this ?
(no problems with int attribList[]={ WX_GL_RGBA , WX_GL_DOUBLEBUFFER , 0}
)
Make sure to ask for an accumulation buffer when you request an OpenGL context from your windowing system. You probably won't get one by default.
精彩评论