有很多OpenGL教程-我认为其中90%以上使用glBegin()/glEnd(),在这两个调用之间设置顶点。现在我发现有些人告诉我这些功能已经过时了,在新版本的OpenGL中不再可用。
那么:这是正确的吗?
在我的应用程序中,我必须兼容OpenGL 2.1
是的,glBegin()/glEnd()方法已弃用。glDrawArrays是一种现代的方法,它在opengl2.1中可用。以下是关于SO的相关问题。
另外,我怀疑这个90%的值
答案是肯定的,也不是。opengl2及以上版本的精神是不再使用直接模式和固定管道。从opengl3,这些是"弃用"。但幸运的是同时被认可了"遗留OpenGL"和ARB兼容扩展。所以你仍然可以使用它们(模取操作系统之间的一些差异,关于里面的内容或不是)。