2017-09-15 79 views
2

我的设置包括板载Intel集成GPU的日常任务和高性能NVIDIA图形处理器的图形密集型应用。我正在开发一个OpenGL 3.3(核心配置文件)应用程序(使用着色器,而不是固定功能流水线)。默认情况下,我的应用程序在Intel GPU上运行并且工作正常。但是我应该尝试在Nvidia上运行它,它只会显示黑屏。专用的Nvidia GPU都不会画的OpenGL

现在,这里的有趣的部分。 OpenGL上下文被正确加载,并且我绘制的世界坐标轴实际上被绘制(GL_LINE)。出于某种原因,Nvidia不会提取任何GL_POLYGONGL_QUAD

有没有人遇到过类似的东西,你认为什么是罪魁祸首吗?

+5

您使用的是核心配置文件? - 参见[OpenGL的GL_POLYGON无法正常工作(https://stackoverflow.com/questions/12762257/opengl-gl-polygon-not-functioning-properly) – Rabbid76

+3

的[OpenGL的GL \ _POLYGON运行不正常]可能的复制(HTTPS: //stackoverflow.com/questions/12762257/opengl-gl-polygon-not-functioning-properly) – Rabbid76

+2

我使用的核心瞩目的OpenGL 3.3。我没有设置兼容位。 – Drinkwater

回答

2

看起来GL_POLYGON,GL_QUADSGL_QUAD_STRIP从OpenGL 3.3核心配置文件中删除。由于某些原因,英特尔无论如何吸引他们,但Nvidia也开始绘图,只要我用GL_TRIANGLES等替换那些。如果出现这样的问题,请务必检查已删除的功能。

+0

除非驱动程序在使用弃用函数时报告错误(glGetError()== GL_INVALID_XXX),否则它仍然是一个错误。 – Andreas