Skip to content

Instantly share code, notes, and snippets.

@31
Last active November 10, 2023 02:05
Show Gist options
  • Save 31/3781b066e16bf538f170 to your computer and use it in GitHub Desktop.
Save 31/3781b066e16bf538f170 to your computer and use it in GitHub Desktop.
OpenGL functions by object

This is a reference of OpenGL functions by the state they affect. For example, glBindVertexBuffer acts on the bound Vertex Array Object. This wiki category is the only place I could find this data collected. Below I list each category that seems important and the functions within them.

###VAO

  • glBindVertexBuffer
  • glEnableVertexAttribArray
  • glGetVertexAttribPointer
  • glVertexAttribBinding
  • glVertexAttribDivisor
  • glVertexAttribFormat
  • glVertexAttribPointer
  • glVertexBindingDivisor

###(V)BO

  • glBufferData
  • glBufferStorage
  • glBufferSubData
  • glClearBufferData
  • glClearBufferSubData
  • glCopyBufferSubData
  • glFlushMappedBufferRange
  • glGetBufferParameter
  • glGetBufferPointer
  • glGetBufferSubData
  • glInvalidateBufferData
  • glInvalidateBufferSubData
  • glMapBuffer
  • glMapBufferRange

###Shader

  • glCompileShader
  • glGetShader
  • glGetShaderInfoLog
  • glGetShaderSource
  • glShaderBinary
  • glShaderSource

###Program

  • glAttachShader
  • glBindAttribLocation
  • glBindFragDataLocation
  • glBindFragDataLocationIndexed
  • glDetachShader
  • glGetActiveAtomicCounterBuffer
  • glGetActiveAttrib
  • glGetActiveSubroutineName
  • glGetActiveSubroutineUniform
  • glGetActiveSubroutineUniformName
  • glGetActiveUniform
  • glGetActiveUniformBlock
  • glGetActiveUniformBlockName
  • glGetActiveUniformName
  • glGetActiveUniforms
  • glGetAttachedShaders
  • glGetAttribLocation
  • glGetFragDataIndex
  • glGetFragDataLocation
  • glGetProgram
  • glGetProgramBinary
  • glGetProgramInfoLog
  • glGetProgramInterface
  • glGetProgramResource
  • glGetProgramResourceIndex
  • glGetProgramResourceLocation
  • glGetProgramResourceLocationIndex
  • glGetProgramResourceName
  • glGetProgramStage
  • glGetShaderPrecisionFormat
  • glGetSubroutineIndex
  • glGetSubroutineUniformLocation
  • glGetTransformFeedbackVarying
  • glGetUniform
  • glGetUniformBlockIndex
  • glGetUniformIndices
  • glGetUniformLocation
  • glGetUniformSubroutine
  • glLinkProgram
  • glProgramBinary
  • glProgramParameter
  • glProgramUniform
  • glShaderStorageBlockBinding
  • glTransformFeedbackVaryings
  • glUniform
  • glUniformBlockBinding
  • glValidateProgram

###FBO

  • glBlitFramebuffer
  • glCheckFramebufferStatus
  • glDrawBuffer
  • glDrawBuffers
  • glFramebufferParameter
  • glFramebufferRenderbuffer
  • glFramebufferTexture
  • glFramebufferTextureLayer
  • glGetFramebufferAttachmentParameter
  • glGetFramebufferParameter
  • glInvalidateFramebuffer
  • glInvalidateSubFramebuffer
  • glReadBuffer
  • glReadPixels

###Renderbuffer

  • glGetRenderbufferParameter
  • glRenderbufferStorage
  • glRenderbufferStorageMultisample

###Texture

  • glClearTexImage
  • glClearTexSubImage
  • glCompressedTexImage1D
  • glCompressedTexImage2D
  • glCompressedTexImage3D
  • glCompressedTexSubImage1D
  • glCompressedTexSubImage2D
  • glCompressedTexSubImage3D
  • glCopyImageSubData
  • glCopyTexImage1D
  • glCopyTexImage2D
  • glCopyTexSubImage1D
  • glCopyTexSubImage2D
  • glCopyTexSubImage3D
  • glDeleteSamplers
  • glDeleteTextures
  • glGenerateMipmap
  • glGetCompressedTexImage
  • glGetTexImage
  • glGetTexLevelParameter
  • glGetTexParameter
  • glInvalidateTexImage
  • glInvalidateTexSubImage
  • glTexBuffer
  • glTexBufferRange
  • glTexImage1D
  • glTexImage2D
  • glTexImage2DMultisample
  • glTexImage3D
  • glTexImage3DMultisample
  • glTexParameter
  • glTexStorage1D
  • glTexStorage2D
  • glTexStorage2DMultisample
  • glTexStorage3D
  • glTexStorage3DMultisample
  • glTexSubImage1D
  • glTexSubImage2D
  • glTexSubImage3D

Extracted using:

var t = ""; $('#mw-pages li').each(function(i, e) { t += $(e).text() + "\n"; }); t;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment