在Windows上创建OpenGL渲染上下文时出现白色闪烁

时间:2012-04-26 14:26:50

标签: windows opengl

我正在使用ChoosePixelFormat,SetPixelFormat等在Windows上创建一个OpenGL渲染上下文。这一切都很漂亮,但是,在绘制OpenGL内容之前,窗口设置为全白。简而言之,但仍然可见。

窗口类的背景画笔是GetStockObject(HOLLOW_BRUSH),我没有响应WM_ERASEBKGND或WM_PAINT,并立即用黑色清除OpenGL上下文。这一切似乎并不重要。

如果我在运行时暂时关闭OpenGL渲染循环,隐藏然后显示窗口,我也可以重现这个问题。这使它完全变白。

如果将Windows设置为OpenGL渲染目标,则Windows正在清除窗口,并且它正在使用白色。这是一个已知问题,有没有办法控制默认颜色?黑色会好得多。谢谢!

(使用带有ATI Radeon HD5750适配器的Windows 7。)

2 个答案:

答案 0 :(得分:0)

我也有这个问题。我不得不通过什么都不做来处理WM_ERASEBKGND消息并返回true以防止白色闪烁。

答案 1 :(得分:0)

我的解决方案是在第一个WM_PAINT消息到达时绘制一些内容。