UM EECS 487 ZHS ZHT KR DE

OpenGL, OpenGL ES, WebGL, GLSL, GLSL ES APIs Table

is a cross-platform standard 2D and 3D graphics API. OpenGL 2.1 also comes with GLU and GLUT.

OpenGL ES is the corresponding standard for embedded systems, notably Android and iOS devices and web browsers (WebGL).

WebGL is "OpenGL for the Web," enabling GPU-accelerated 3D graphics on web pages. It is commonly used as a rendering context of an HTML5 Canvas element, dynamically drawn using Javascript (reference). Not all layout engines supports WebGL.

Legend (linked to man pages or spec):

function deprecated since OpenGL 3.0 or GLSL 1.3
deprecated function available under compatibility profile (GL_ARB_compatibility extension, see the corresponding spec for further documentation)
function not available
core profile function available across all versions of desktop OpenGL
function introduced after OpenGL 2.1 or GLSL 1.2
function available as extension approved by the standard body (ARB, KHR, or OES extension); for usage, see GLEW or, for WebGL extensions, OES_vertex_array_object extension

  2: OpenGL 2.1
  3: OpenGL 3.3
  4: OpenGL 4.5
W: WebGL 1.0*
  E2: OpenGL ES 2.0 (WebGL1)
  E3: OpenGL ES 3.0 (WebGL2)
E31: OpenGL ES 3.1
E32: OpenGL ES 3.2
S2: GLSL 1.2
S4: GLSL 4.5
  e1: GLSL ES 1.0 (WebGL1)
  e3: GLSL ES 3.0 (WebGL2)
e31: GLSL ES 3.1
e32: GLSL ES 3.2

       Viewing hints:

  • Chrome doesn't render MathML: math equations in the reference pages do not show up correctly.

OpenGL Wiki WebGL Wiki Mozilla Developer Network
* WebGL APIs are listed under their GL analogues, e.g., "clear()" is listed as "glClear()". Where the corresponding APIs have different base names, they may be doubly listed, with the WebGL APIs sorted as if they had "gl" prepended and the first character of the APIs in upper case, e.g., "createBuffer()" is listed both with "glGenBuffers()" and immediately preceding "glCreateProgram()".

OpenGL (specs), OpenGL ES (specs), and WebGL (specs)


4
E
32
E
31
E
3

3
E
2

W

2
gl*x* (fixed point version of various APIs)
glAccum
glActiveShaderProgram
glActiveTexture
glAlphaFunc
glAreTexturesResident
glArrayElement
glAttachShader
glBegin
glBeginConditionalRender
glBeginQuery
glBeginQueryIndexed
glBeginTransformFeedback
glBindAttribLocation
glBindBuffer
glBindBufferBase
glBindBufferRange
glBindBuffersBase
glBindBuffersRange
glBindFragDataLocation
glBindFragDataLocationIndexed
glBindFramebuffer
glBindImageTexture
glBindImageTextures
glBindProgramPipeline
glBindRenderbuffer
glBindSampler
glBindSamplers
glBindTexture
glBindTextures
glBindTextureUnit
glBindTransformFeedback
glBindVertexArray, glBindVertexArrayAPPLE, bindVertexArrayOES
glBindVertexBuffer
glBindVertexBuffers
glBitmap
glBlendBarrier
glBlendColor
glBlendEquation
glBlendEquationi
glBlendEquationSeparate
glBlendEquationSeparatei
glBlendFunc
glBlendFunci
glBlendFuncSeparate
glBlendFuncSeparatei
glBlitFramebuffer
glBlitNamedFramebuffer
glBufferData
glBufferPageCommitment
glBufferStorage
glBufferSubData
glCallList
glCallLists
glCheckFramebufferStatus
glCheckNamedFramebufferStatus
glClampColor
glClear
glClearAccum
glClearBuffer
glClearBufferData
glClearBufferSubData
glClearColor
glClearDepth
glClearDepthf
glClearIndex
glClearNamedBufferData
glClearNamedBufferSubData
glClearNamedFramebuffer
glClearStencil
glClearTexImage
glClearTexSubImage
glClientActiveTexture
glClientWaitSync
glClipControl
glClipPlane
glColor
glColorMask
glColorMaski
glColorMaterial
glColorPointer
glColorSubTable
glColorTable
glColorTableParameter
glCompileShader
glCompressedTexImage1D
glCompressedTexImage2D
glCompressedTexImage3D
glCompressedTexSubImage1D
glCompressedTexSubImage2D
glCompressedTexSubImage3D
glCompressedTextureSubImage1D
glCompressedTextureSubImage2D
glCompressedTextureSubImage3D
glConvolutionFilter1D
glConvolutionFilter2D
glConvolutionParameter
glCopyBufferSubData
glCopyColorSubTable
glCopyColorTable
glCopyConvolutionFilter1D
glCopyConvolutionFilter2D
glCopyPixels
glCopyImageSubData
glCopyNamedBufferSubData
glCopyTexImage1D
glCopyTexImage2D
glCopyTexSubImage1D
glCopyTexSubImage2D
glCopyTexSubImage3D
glCopyTextureSubImage1D
glCopyTextureSubImage2D
glCopyTextureSubImage3D
createBuffer, glGenBuffers
glCreateBuffers
createFramebuffer, glGenFramebuffers
glCreateFramebuffers
glCreateProgram
glCreateProgramPipelines
glCreateQueries
createRenderbuffer, glGenRenderbuffers
glCreateRenderbuffers
glCreateSamplers
glCreateShader
glCreateShaderProgramv
glCreateSyncFromCLevent
createTexture, glGenTextures
glCreateTextures
glCreateTransformFeedbacks
createVertexArrayOES, glGenVertexArrays, glGenVertexArraysAPPLE
glCreateVertexArrays
glCullFace
glDebugMessageCallback
glDebugMessageControl
glDebugMessageInsert
glDeleteBuffers
glDeleteFramebuffers
glDeleteLists
glDeleteProgram
glDeleteProgramPipelines
glDeleteQueries
glDeleteRenderbuffers
glDeleteSamplers
glDeleteShader
glDeleteSync
glDeleteTextures
glDeleteTransformFeedbacks
glDeleteVertexArrays, glDeleteVertexArraysAPPLE, deleteVertexArrayOES
glDepthFunc
glDepthMask
glDepthRange
glDepthRangeArrayv
glDepthRangef
glDepthRangeIndexed
glDetachShader
glDisable
glDisableClientState
glDisablei
glDisableVertexArrayAttrib
glDisableVertexAttribArray
glDispatchCompute
glDispatchComputeGroupSize
glDispatchComputeIndirect
glDrawArrays
glDrawArraysIndirect
glDrawArraysInstanced
glDrawArraysInstancedBaseInstance
glDrawBuffer
glDrawBuffers, drawBuffersWEBGL
glDrawElements
glDrawElementsBaseVertex
glDrawElementsIndirect
glDrawElementsInstanced
glDrawElementsInstancedBaseInstance
glDrawElementsInstancedBaseVertex
glDrawElementsInstancedBaseVertexBaseInstance
glDrawPixels
glDrawRangeElements
glDrawRangeElementsBaseVertex
glDrawTransformFeedback
glDrawTransformFeedbackInstanced
glDrawTransformFeedbackStream
glDrawTransformFeedbackStreamInstanced
glEdgeFlag
glEdgeFlagPointer
glEnable
glEnableClientState
glEnablei
glEnableVertexArrayAttrib
glEnableVertexAttribArray
glEnd
glEndConditionalRender
glEndList
glEndQuery
glEndQueryIndexed
glEndTransformFeedback
glEvalCoord
glEvalMesh
glEvalPoint
glEvaluateDepthValues
glFeedbackBuffer
glFenceSync
glFinish
glFlush
glFlushMappedBufferRange
glFlushMappedNamedBufferRange
glFog
glFogCoord
glFogCoordPointer
glFramebufferParameteri
glFramebufferRenderbuffer
glFramebufferSampleLocations
glFramebufferTexture
glFramebufferTexture1D
glFramebufferTexture2D
glFramebufferTexture3D
glFramebufferTextureFace
glFramebufferTextureLayer
glFrontFace
glFrustum
glGenBuffers, createBuffer
glGenFramebuffers, createFramebuffer
glGenLists
glGenProgramPipelines
glGenQueries
glGenRenderbuffers, createRenderbuffer
glGenSamplers
glGenTextures, createTexture
glGenTransformFeedbacks
glGenVertexArrays, glGenVertexArraysAPPLE, createVertexArrayOES
glGenerateMipmap
glGenerateTextureMipmap
glGet, getParameter
glGetActiveAtomicCounterBufferiv
glGetActiveAttrib
glGetActiveSubroutineName
glGetActiveSubroutineUniformiv
glGetActiveSubroutineUniformName
glGetActiveUniform
glGetActiveUniformBlockiv
glGetActiveUniformBlockName
glGetActiveUniformName
glGetActiveUniformsiv
glGetAttachedShaders
glGetAttribLocation
glGetBooleani_v
glGetBooleanv, getParameter
glGetBufferParameteri64v
glGetBufferParameteriv
glGetBufferPointerv
glGetBufferSubData
glGetClipPlane
glGetColorTable
glGetColorTableParameter
glGetCompressedTexImage
glGetCompressedTextureImage
glGetCompressedTextureSubImage
glGetConvolutionFilter
glGetConvolutionParameter
glGetDebugMessageLog
glGetDoublei_v
glGetDoublev, getParameter
glGetError
glGetFloati_v
glGetFloatv, getParameter
glGetFragDataIndex
glGetFragDataLocation
glGetFramebufferAttachmentParameteriv
glGetFramebufferParameteriv
glGetGraphicsResetStatus
glGetHistogram
glGetHistogramParameter
glGetInteger64
glGetIntegeri_v
glGetIntegerv, getParameter
glGetImageHandle
glGetInternalformativ
glGetInternalformati64v
glGetLight
glGetMap
glGetMaterial
glGetMinmax
glGetMinmaxParameter
glGetMultisamplefv
glGetNamedBufferParameter
glGetNamedBufferPointerv
glGetNamedBufferSubData
glGetNamedFramebufferAttachmentParameteriv
glGetNamedFramebufferParameteriv
glGetNamedRenderbufferParameteriv
glGetnColorTable
glGetnCompressedTexImage
glGetnConvolutionFilter
glGetnHistogram
glGetnMap
glGetnMinmax
glGetnPixelMap
glGetnPolygonStipple
glGetnSeparableFilter
glGetnTexImage
glGetnUniform*64{,v}
glGetnUniform{,fv,iv,uiv},
glGetnUniformdv
glGetObjectLabel
glGetObjectPtrLabel
getParameter, glGet, glGetBooleanv, glGetDoublev, glGetFloatv, glGetIntegerv, glGetString
glGetPixelMap
glGetPointerv
glGetPolygonStipple
glGetProgramBinary
glGetProgramInfoLog
glGetProgramInterfaceiv
glGetProgramiv, getProgramParameter
glGetProgramPipelineiv
glGetProgramPipelineInfoLog
glGetProgramResourceiv
glGetProgramResourceIndex
glGetProgramResourceLocation
glGetProgramResourceLocationIndex
glGetProgramResourceName
glGetProgramStageiv
glGetQueryiv
glGetQueryIndexediv
glGetQueryObjectiv
glGetQueryObjectuiv
glGetQueryObject{,u}i64v
glGetRenderbufferParameteriv
glGetSamplerParameter
glGetSamplerParameterI{iv,uiv}
glGetSeparableFilter
glGetShaderiv, getShaderParameter
glGetShaderInfoLog
glGetShaderPrecisionFormat
glGetShaderSource
glGetString, getParameter
glGetStringi
glGetSubroutineIndex
glGetSubroutineUniformLocation
glGetSynciv
glGetTexEnv
glGetTexGen
glGetTexImage
glGetTexLevelParameter
glGetTexParameter
glGetTexParameterI{iv,uiv}
glGetTextureHandle
glGetTextureImage
glGetTextureLevelParameter
glGetTextureParameter
glGetTextureSamplerHandle
glGetTextureSubImage
glGetTransformFeedback
glGetTransformFeedbackVarying
getTranslatedShaderSource
glGetUniform*64{,v}
glGetUniformdv
glGetUniform[fi]v
glGetUniformuiv
glGetUniformBlockIndex
glGetUniformIndices
glGetUniformLocation
glGetUniformSubroutineuiv
glGetVertexArrayIndexed
glGetVertexArrayiv
glGetVertexAttrib
glGetVertexAttribI
glGetVertexAttribLdv
glGetVertexAttribLui64v
getVertexAttribOffset, glGetVertexAttribPointerv
glHint
glHistogram
glIndex
glIndexMask
glIndexPointer
glInitNames
glInterleavedArrays
glInvalidateBufferData
glInvalidateBufferSubData
glInvalidateFramebuffer
glInvalidateNamedFramebufferData
glInvalidateNamedFramebufferSubData
glInvalidateSubFramebuffer
glInvalidateTexImage
glInvalidateTexSubImage
glIsBuffer
glIsEnabled
glIsEnabledi
glIsFramebuffer
glIsImageHandleResident
glIsList
glIsProgram
glIsProgramPipeline
glIsQuery
glIsRenderbuffer
glIsSampler
glIsShader
glIsSync
glIsTexture
glIsTextureHandleResident
glIsTransformFeedback
glIsVertexArray, glIsVertexArrayAPPLE, isVertexArrayOES
glLight
glLightModel
glLineStipple
glLineWidth
glLinkProgram
glListBase
glLoadIdentity
glLoadMatrix
glLoadName
glLoadTransposeMatrix
glLogicOp
glMakeImageHandleNonResident
glMakeImageHandleResident
glMakeTextureHandleNonResident
glMakeTextureHandleResident
glMap1
glMap2
glMapBuffer
glMapBufferRange
glMapGrid
glMapNamedBuffer
glMapNamedBufferRange
glMaterial
glMatrixMode
glMaxShaderCompilerThreads
glMemoryBarrier
glMemoryBarrierByRegion
glMinSampleShading
glMinmax
glMultMatrix
glMultTransposeMatrix
glMultiDrawArrays
glMultiDrawArraysIndirect
glMultiDrawArraysIndirectCount
glMultiDrawElements
glMultiDrawElementsBaseVertex
glMultiDrawElementsIndirect
glMultiDrawElementsIndirectCount
glMultiTexCoord
glNamedBufferData
glNamedBufferStorage
glNamedBufferSubData
glNamedFramebufferDrawBuffer
glNamedFramebufferDrawBuffers
glNamedFramebufferParameteri
glNamedFramebufferReadBuffer
glNamedFramebufferRenderbuffer
glNamedFramebufferSampleLocations
glNamedFramebufferTexture
glNamedFramebufferTextureLayer
glNamedRenderbufferStorage
glNamedRenderbufferStorageMultisample
glNewList
glNormal
glNormalPointer
glObjectLabel
glObjectPtrLabel
glOrtho
glPassThrough
glPatchParameteri
glPatchParameterfv
glPauseTransformFeedback
glPixelMap
glPixelStorei
glPixelStoref
glPixelTransfer
glPixelZoom
glPointParameter
glPointSize
glPolygonMode
glPolygonOffset
glPolygonStipple
glPopAttrib
glPopClientAttrib
glPopDebugGroup
glPopMatrix
glPopName
glPrimitiveRestartIndex
glPrimitiveBoundingBox
glPrioritizeTextures
glProgramBinary
glProgramParameteri
glProgramUniform?d{,v}, glProgramUniformMatrix*d{,v}
glProgramUniform*64{,v}
glProgramUniformHandle
glProvokingVertex
glPushAttrib
glPushClientAttrib
glPushDebugGroup
glPushMatrix
glPushName
glQueryCounter
glRasterPos
glReadBuffer
glReadnPixels
glReadPixels
glRect
glReleaseShaderCompiler
glRenderMode
glRenderbufferStorage
glRenderbufferStorageMultisample
glResetHistogram
glResetMinmax
glResumeTransformFeedback
glRotate
glSampleCoverage
glSampleMaski
glSamplerParameter
glSamplerParameterI{iv,uiv}
glScale
glScissor
glScissorArrayv
glScissorIndexed
glSecondaryColor
glSecondaryColorPointer
glSelectBuffer
glSeparableFilter2D
glShadeModel
glShaderBinary
glShaderSource
glShaderStorageBlockBinding
glStencilFunc
glStencilFuncSeparate
glStencilMask
glStencilMaskSeparate
glStencilOp
glStencilOpSeparate
glTexBuffer
glTexBufferRange
glTexCoord
glTexCoordPointer
glTexEnv
glTexGen
glTexImage1D
glTexImage2D
glTexImage2DMultisample
glTexImage3D
glTexImage3DMultisample
glTexPageCommitment
glTexParameter
glTexParameterI{iv,uiv}
glTexStorage1D
glTexStorage2D
glTexStorage2DMultisample
glTexStorage3D
glTexStorage3DMultisample
glTexSubImage1D
glTexSubImage2D
glTexSubImage3D
glTextureBarrier
glTextureBuffer
glTextureBufferRange
glTextureParameter
glTextureStorage1D
glTextureStorage2D
glTextureStorage2DMultisample
glTextureStorage3D
glTextureStorage3DMultisample
glTextureSubImage1D
glTextureSubImage2D
glTextureSubImage3D
glTextureView
glTranslate
glTransformFeedbackBufferBase
glTransformFeedbackBufferRange
glTransformFeedbackVaryings
glUniform
glUniform*64{,v}
glUniform?d{,v}
glUniform?ui{,v}
glUniformBlockBinding
glUniformHandle
glUniformMatrix
glUniformMatrix*d{,v}
glUniformSubroutinesuiv
glUnmapBuffer
glUnmapNamedBuffer
glUseProgram
glUseProgramStages
glValidateProgram
glValidateProgramPipeline
glVertex
glVertexArrayAttribBinding
glVertexArrayAttrib{,I,L}Format
glVertexArrayBindingDivisor
glVertexArrayElementBuffer
glVertexArrayVertexBuffer
glVertexArrayVertexBuffers
glVertexAttrib
glVertexAttribI
glVertexAttribL
glVertexAttribL1ui64{,v}
glVertexAttribP
glVertexAttribBinding
glVertexAttribDivisor
glVertexAttribFormat, glVertexAttribIFormat
glVertexAttribLFormat
glVertexAttribPointer
glVertexPointer
glVertexBindingDivisor
glViewport
glViewportArrayv
glViewportIndexed
glWaitSync
glWindowPos

GLSL (spec) and GLSL ES (spec)

Basic Types
S
4
e
32
e
31
e
3
e
1
S
2
void, bool, int, float, vec[234], bvec[234], ivec[234], mat[234], sampler2D, samplerCube
mat2x[234], mat3x[234], mat4x[234], sampler3D, sampler2DShadow
sampler1D, sampler1DShadow
uint, uvec[234], samplerCubeShadow, sampler2DArray, sampler2DArrayShadow, [iu]sampler[23]D, [iu]samplerCube, [iu]sampler2DArray
double, dvec[234], dmat[234], dmat2x[234], dmat3x[234], dmat4x[234], sampler2DRect, sampler1DArray, samplerBuffer, samplerCubeArray, sampler2DRectShadow, sampler1DArrayShadow, samplerCubeArrayShadow, atomic_uint, [iu]sampler1D, [iu]sampler2DRect, [iu]sampler1DArray, [iu]samplerBuffer, [iu]samplerCubeArray, ([iu])image[123]D, ([iu])imageCube, ([iu])image2DRect, ([iu])image[12]DArray, ([iu])imageBuffer, ([iu])image2DMS, ([iu])image2DMSArray, ([iu])imageCubeArray
([iu])sampler2DMS
([iu])sampler2DMSArray

Variable Qualifiers

Storage:
attribute, varying
const, uniform
in, out
buffer, shared
Layout:
layout(<layout-qualifier-id-list>)
layout-qualifier-id: location, component, etc.
Interpolation:
centroid varying
centroid in, centroid out
centroid, patch, sample
flat, smooth
noperspective
Precision:
invariant
highp, mediump, lowp, precision
precise
image Memory:
coherent, readonly, restrict, volatile, writeonly
Function Parameter:
in, out, inout

Built-in Variables

gl_BackColor, gl_BackSecondaryColor