FreeGLUT API文档中没有glutInitContextVersion
的条目,当我搜索它时,所有我找到的都是一些问题列表,这些问题并没有直接涉及它的用法或效果。
它在任何地方都有记录吗?
glutInitContextVersion
不是官方GLUT API的一部分(顺便说一下,它已经完全过时了),但是是由freeglut添加的非官方扩展。然而,只要了解OpenGL上下文版本的工作方式(这是在ARB_create_context
扩展系列中定义的),它的使用就非常简单明了。
该函数将在实际创建上下文时选择请求的OpenGL版本。请注意,这不需要实现返回您请求的确切版本的上下文,但是它应该返回与请求的版本兼容的上下文,以便该版本的所有功能都存在。
有一些关于freeglut处理此问题似乎没有记录的事情。从查看代码(对于当前稳定版本2.8.1)可以看出,freeglut实现了以下逻辑:
ARB_create_context
扩展,则会生成一些错误,并且不会创建上下文。如果您不需要一些特定于GLUT的功能(这些功能基本上都依赖于已弃用的OpenGL),则可能需要查看一些更现代的替代方案,如GLFW。