GLuints
GLuints are unsigned integer handles used by OpenGL to identify graphics objects. In OpenGL headers, GLuint is defined as an unsigned 32-bit type and serves as an opaque reference to resources such as textures, buffer objects, shader and program objects, vertex array objects, framebuffer objects, and renderbuffers. A GLuint does not reveal the object’s internals; software uses the handle to refer to the resource in subsequent API calls.
Handles are created by specific GL calls. For most objects, the application requests new names with glGen
Lifecycle and deletion follow a simple rule: resources are deleted with glDelete calls (glDeleteBuffers, glDeleteTextures, etc.).
Special value 0 is reserved and denotes “no object.” Binding a target to 0 unbinds the target
Context and portability considerations: GLuints are per-context identifiers. Resources created in one GL context are not