那里有很多 OpenGL 教程——我认为超过 90% 的教程使用 glBegin()/glEnd() 并在这两个调用之间设置了顶点。现在我发现有些人告诉我这些函数已被弃用,并且在较新版本的 OpenGL 中不再可用。
所以:这是正确的吗?
在我的应用程序中,我必须与 OpenGL 2.1 兼容。
那里有很多 OpenGL 教程——我认为超过 90% 的教程使用 glBegin()/glEnd() 并在这两个调用之间设置了顶点。现在我发现有些人告诉我这些函数已被弃用,并且在较新版本的 OpenGL 中不再可用。
所以:这是正确的吗?
在我的应用程序中,我必须与 OpenGL 2.1 兼容。
是的,不推荐使用 glBegin()/glEnd() 方法。glDrawArrays是一种现代方法,它在 OpenGL 2.1 中可用。这是关于 SO 的相关问题。
另外,我怀疑这 90% 的价值。
答案是肯定的和否定的。OpenGL 2 及更多的精神是不再使用立即模式和固定管道。从 OpenGL 3 开始,这些已“弃用”。但幸运的是同时被认出了“ Legacy OpenGL ”和ARB的兼容性扩展。所以你确实可以使用它们(以操作系统之间关于内部或不内部的一些变化为模)。