我正在使用Qt Creator和QGLWidget子类化开发一个使用Qt和OpenGL的应用程序。
我的应用程序的用户基数高于旧硬件的平均比例,这就是为什么我需要它在具有仅支持OpenGL 2.1的显卡的计算机上运行-或者,换句话说,我不能依赖任何比2.1更新的硬件。
我担心在不知情的情况下使用2.1之后引入的OpenGL功能。有没有办法将OpenGL配置为“只”支持2.1,这样如果我做了不应该做的事情,我就会得到一个运行时错误?或者,如果做不到这一点,确保兼容性的最佳实践是什么?
发布于 2011-06-26 20:21:57
您唯一需要担心的事情不是创建OpenGL-3核心概要文件上下文,而是只使用OpenGL-2.1规范中的函数。
因为创建OpenGL-3核心上下文需要您跳过一些圈套,所以您在那里不会遇到问题。该系统可能会为您提供比OpenGL-2.1更新的功能,但只要您不使用2.1规范文档中没有的任何功能,就没有问题。您必须使用扩展机制,才能在Windows上实际获得该功能;从技术上讲,OpenGL-2.1是一系列正式功能的扩展,因此请仔细阅读规范的附录,其中明确提到了以前是扩展的功能。
https://stackoverflow.com/questions/6483731
复制相似问题