Search code examples
javaopengllwjgl

LWJGL - difference between GL15 & GL30


I'm following ThinMatrix's Opengl tutorial using LWJGL3. There's been lots of GL15 and GL30 in the code. What do they mean? Are these different opengl versions? And why do some of them contain fields that the other object does not have. Like GL15 has the .GL_ARRAY_BUFFER field yet GL30 does not despite seemingly coming after GL15.


Solution

  • The namespaces refer to the OpenGL versions in which features were introduced (see OpenGL specification - Khronos OpenGL registry ). OpenGL is backwards compatible (at least with a compatibility profile OpenGL Context). If you use GL30, you can also use the implementations of GL15. GL30 does not repeat the implementations contained in GL15. So you have to use both namespaces.