【问题标题】:OpenGL Motion blur with the accumulation buffer in WxWidgetsOpenGL 运动模糊与 WxWidgets 中的累积缓冲区
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 您好,请参阅我在原始问题中的补充。谢谢你的回答:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 2013-02-27
相关资源
最近更新 更多