我的设置包括用于日常任务的板载英特尔集成 GPU 和用于图形密集型应用程序的高性能 Nvidia GPU。我正在开发一个 OpenGL 3.3(核心配置文件)应用程序(使用着色器,而不是固定功能管道)。默认情况下,我的应用程序在 Intel GPU 上运行并且运行良好。但如果我尝试在 Nvidia 上运行它,它只会显示黑屏。
现在这是有趣的部分。 OpenGL 上下文已正确加载,并且我为调试而绘制的世界坐标轴实际上已绘制(GL_LINE
)。由于某种原因,Nvidia 不绘制任何 GL_POLYGON
或 GL_QUAD
。
有人经历过类似的事情吗?你认为罪魁祸首是什么?
最佳答案
看来 GL_POLYGON
、GL_QUADS
和 GL_QUAD_STRIP
已从 OpenGL 3.3 核心配置文件中删除。由于某种原因,英特尔无论如何都会绘制它们,但当我用 GL_TRIANGLES 等替换它们后,Nvidia 也开始绘制它们。如果出现此类问题,请务必检查已删除的功能。
关于c++ - 专用 Nvidia GPU 无法绘制 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46232387/