|
|
1
30
编辑:主要的变化,以及一些更好的论点,这让很多人,包括我自己,很长一段时间都无法理解。也更切题,更简短。选择 一个特定的OpenGL版本。驱动程序和图形适配器的功能始终支持最高版本。这意味着新的核心功能必须与以前版本的旧功能兼容,否则旧的应用程序在以后的OpenGL版本上运行时会中断。由于无法对以前的版本进行更改,OpenGL的副作用是,它开始慢慢地受到特性爬行的影响。增加了功能,而不是增强已有的功能。如果您看看opengl2.1,那么不同draw调用的数量就是一个很好的例子。 opengl3.0中引入了新的上下文创建调用 ,以及是否要使用不推荐使用的功能。 ,这意味着不仅仅是“删除函数”,我看到一些人用它来反驳这些变化。这也意味着 一个例子是使glGen。。函数对于生成对象名称是必需的,并且使着色器和顶点数组对象是必需的。(后者在opengl3.3中被弃用,而不是强制使用)。
但一切都不可能一夜之间改变,所以opengl3.x引入了一个弃用模型。在以后的版本中删除功能之前,至少有一个版本不推荐使用该功能。删除的功能被移动到一个名为GL\u ARB\u compatibility的OpenGL扩展中。您可以通过创建一个兼容性配置文件(而不是核心配置文件)来打开此功能。这是新的上下文创建调用中的一个标志,OpenGL3.1和更高版本(而不是3.0)接受它。不推荐使用的功能可以通过创建向前兼容的上下文来强制关闭。同样,这是一个上下文创建标志。
|
|
|
2
3
事实上,很多事情。不推荐立即模式。要获得opengl3.0函数,您现在应该显式地创建opengl3.0上下文(现有的opengl2.0程序不会这样做,所以它们获得2.0兼容的上下文)。API也得到了扩展(参见 http://www.opengl.org 详细信息)。 |