我对东芝笔记本电脑上的Intel图形HD 3000 (OS Win7 x32,lang C ++)有问题。
经典的单一上下文OpenGL应用程序可以正常工作,但是在单个App中的多个OpenGL上下文上会产生奇怪的行为:
在我的应用程序的旧版本上,英特尔驱动程序根本无法创建第二个渲染上下文。
在基于OpenGL的软件体系结构中进行重大更改后,行为发生了变化
现在,我可以创建第二个渲染上下文了,但是在释放它之后(使用/关闭窗口之后),驱动程序无法创建任何下一个渲染上下文。这已经在多个应用程序上进行了测试,并且始终表现相同。我想通过始终激活第二个上下文来解决这个问题,但是它也无法正常工作(某种程度上渲染上下文在Intel上无效)。为了清楚起见,第二个OpenGL渲染上下文用于“ 打开/保存”对话框(预览子窗口)。
驾驶员信息:
Intel(R) HD Graphics 3000
OpenGL ver: 3.1.0 - Build 9.17.10.2932
现在的问题:
难道我做错了什么?
引擎是功能齐全的GL,GLSL,VBO,VAO等,并经过多年测试。怪异的行为仅出现在Intel上。来自nVidia的卡可以正常工作,而ATI / AMD则可以正常工作(存在一些问题,但它们总是与ATI有关,尤其是具有索引的VBO的故障驱动程序,其他一切正常)
有没有更好的初始化/退出OpenGL的方法?
如何在不同的渲染上下文之间正确切换?
我现在正在使用wglMakeCurrent(hdc,hrc)
,但可能是我遗漏了一些东西,或者在Intel上有一些解决方法。
狐的传说
相关分类