【发布时间】:2011-02-25 13:40:11
【问题描述】:
我正在尝试在我的 OpenGL 应用程序中实现运动模糊效果。
我在某处读到了这个解决方案,使用累积缓冲区:
glAccum(GL_MULT, 0.90);
glAccum(GL_ACCUM, 0.10);
glAccum(GL_RETURN, 1.0);
glFlush();
在渲染循环结束时。
但是什么都没有发生……我错过了什么?
genpfault 回答后的补充:
确实,我在初始化上下文时并没有要求累积缓冲区。
所以我尝试将属性数组传递给我的wxGLCanvas 的构造函数,如下所述: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}
但我得到的只是一个友好的Seg 错误。有人知道如何使用它吗?
(int attribList[]={ WX_GL_RGBA , WX_GL_DOUBLEBUFFER , 0} 没有问题)
【问题讨论】:
-
我想你想要这样的东西: int attribList[]={ WX_GL_RGBA , WX_GL_DOUBLEBUFFER , WX_GL_MIN_ACCUM_RED, 1, WX_GL_MIN_ACCUM_GREEN, 1, WX_GL_MIN_ACCUM_BLUE, 1, 0} 所以红色/绿色/蓝色累加的最小位数是 1。
-
嗯。我仍然遇到 Seg Fault...
标签: c++ opengl motion-blur