2015-10-06 33 views
1

有很多OpenGL教程 - 我认为其中90%以上的人使用glBegin()/ glEnd(),并在这两个调用之间设置顶点。现在我发现有些人告诉我这些函数已被弃用,并且不再可用于新版本的OpenGL。OpenGL 2.1和glBegin()/ glEnd()

所以:这是正确的吗?

在我的应用程序中,我必须与OpenGL 2.1兼容。

+0

https://open.gl是一个体面的教程,使用核心OpenGL。 –

回答

2

是的,不推荐使用glBegin()/ glEnd()方法。 glDrawArrays是一种现代化的方法,它在OpenGL 2.1中可用。这里是related question on SO

另外,我怀疑这个90%的价值。

+1

“另外,我怀疑这个90%的价值。”我也看过大多数过时的OpenGL教程,所以我认为90%的数字是真实的。 – lisyarus

+1

'glDrawArrays()'要老得多。它被添加到OpenGL 1.1中。 –

+0

只是为了强调它有多老:OpenGL-1.1于1996年发布。OpenGL-2于2004年发布。 – datenwolf

0

答案是肯定的,不是。 OpenGL 2和更多的精神是不再使用即时模式和固定管道。从OpenGL 3开始,这些都被“弃用”。 但幸运的是在同一时间被识别为“Legacy OpenGL”和ARB compatibility的扩展名。所以你可以继续使用它们(模块化操作系统之间有关内部或不内部的一些变化)。