简体   繁体   中英

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_MULT, 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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM