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
.
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.