OpenGL 运动模糊与 WxWidgets 中的累积缓冲区

发布于 2024-09-03 14:47:38 字数 771 浏览 9 评论 0 原文

我正在尝试在我的 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}

但我得到的只是一个友好的段错误。有人明白如何使用这个吗?

int attribList[]={ WX_GL_RGBA , WX_GL_DOUBLEBUFFER , 0} 没有问题

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})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月竹挽风 2024-09-10 14:47:38

当您从窗口系统请求 OpenGL 上下文时,请确保请求累积缓冲区。默认情况下您可能不会得到一个。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文