![](/img/trans.png)
[英]Creating a textured Rectangle in OpenGL 2.1 with Qt 5.7 on Mac OSX el capitan
[英]Setting Qt 5.7 OpenGL version on Mac El Capitan (OSX 10.11)
我正在尝试使用以下代码将QOpenGLWidget的OpenGL版本设置为3.3。
QSurfaceFormat defaultFormat;
defaultFormat.setProfile(QSurfaceFormat::CoreProfile);
defaultFormat.setVersion(3, 3);
defaultFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
QSurfaceFormat::setDefaultFormat(defaultFormat);
QApplication a(argc, argv);
问题是当我稍后调用glGetString(GL_VERSION)
我得到了
4.1英特尔-10.14.73
作为输出。 这应该发生吗? 看来我可以使用2.1或4.1,并且Qt不允许我在两者之间使用任何东西。
是的,那很正常。 并且完全有效。
除了3.2核心配置文件中断外 ,每个更高的OpenGL版本都向后兼容一个较低的版本。 这样,如果您要求3.3,则实现可以自由地给您4.1,因为4.1可以完成3.3的所有工作。
确实,如果您要求使用2.1,则允许实现为您提供4.1 兼容性配置文件,因为该配置文件向后兼容2.1。 现在在MacOSX上,您将无法获得,因为Apple并未公开任何兼容性配置文件。 但是他们可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.