LWJGL - GL15 和 GL30 的区别

LWJGL - difference between GL15 & GL30

我正在使用 LWJGL3 学习 ThinMatrix 的 Opengl 教程。代码中有很多 GL15GL30。他们的意思是什么?这些是不同的 opengl 版本吗?以及为什么其中一些包含其他对象没有的字段。就像 GL15.GL_ARRAY_BUFFER 字段,但 GL30 没有,尽管看似在 GL15 之后。

命名空间指的是引入功能的 OpenGL 版本(参见 OpenGL specification - Khronos OpenGL registry ). OpenGL is backwards compatible (at least with a compatibility profile OpenGL Context)。如果你使用 GL30,你也可以使用 GL15 的实现。 GL30 不重复 GL15 中包含的实现。所以你必须同时使用这两个命名空间。