<!--
{
  "documentType" : "article",
  "framework" : "OpenGLES",
  "identifier" : "/documentation/OpenGLES/opengl-es-functions",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "OpenGL ES Functions"
}
-->

# OpenGL ES Functions

## Topics

### Functions

[`func glActiveShaderProgramEXT(GLuint, GLuint)`](/documentation/OpenGLES/glActiveShaderProgramEXT(_:_:))

[`func glActiveTexture(GLenum)`](/documentation/OpenGLES/glActiveTexture(_:))

[`func glAlphaFunc(GLenum, GLclampf)`](/documentation/OpenGLES/glAlphaFunc(_:_:))

[`func glAlphaFuncx(GLenum, GLclampx)`](/documentation/OpenGLES/glAlphaFuncx(_:_:))

[`func glAttachShader(GLuint, GLuint)`](/documentation/OpenGLES/glAttachShader(_:_:))

[`func glBeginTransformFeedback(GLenum)`](/documentation/OpenGLES/glBeginTransformFeedback(_:))

[`func glBeginQuery(GLenum, GLuint)`](/documentation/OpenGLES/glBeginQuery(_:_:))

[`func glBeginQueryEXT(GLenum, GLuint)`](/documentation/OpenGLES/glBeginQueryEXT(_:_:))

[`func glBindAttribLocation(GLuint, GLuint, UnsafePointer<GLchar>!)`](/documentation/OpenGLES/glBindAttribLocation(_:_:_:))

[`func glBindBuffer(GLenum, GLuint)`](/documentation/OpenGLES/glBindBuffer(_:_:))

[`func glBindBufferBase(GLenum, GLuint, GLuint)`](/documentation/OpenGLES/glBindBufferBase(_:_:_:))

[`func glBindBufferRange(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)`](/documentation/OpenGLES/glBindBufferRange(_:_:_:_:_:))

[`func glBindFramebuffer(GLenum, GLuint)`](/documentation/OpenGLES/glBindFramebuffer(_:_:))

[`func glBindFramebufferOES(GLenum, GLuint)`](/documentation/OpenGLES/glBindFramebufferOES(_:_:))

[`func glBindProgramPipelineEXT(GLuint)`](/documentation/OpenGLES/glBindProgramPipelineEXT(_:))

[`func glBindSampler(GLuint, GLuint)`](/documentation/OpenGLES/glBindSampler(_:_:))

[`func glBindRenderbuffer(GLenum, GLuint)`](/documentation/OpenGLES/glBindRenderbuffer(_:_:))

[`func glBindRenderbufferOES(GLenum, GLuint)`](/documentation/OpenGLES/glBindRenderbufferOES(_:_:))

[`func glBindTexture(GLenum, GLuint)`](/documentation/OpenGLES/glBindTexture(_:_:))

[`func glBindTransformFeedback(GLenum, GLuint)`](/documentation/OpenGLES/glBindTransformFeedback(_:_:))

[`func glBindVertexArray(GLuint)`](/documentation/OpenGLES/glBindVertexArray(_:))

[`func glBindVertexArrayOES(GLuint)`](/documentation/OpenGLES/glBindVertexArrayOES(_:))

[`func glBlendColor(GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glBlendColor(_:_:_:_:))

[`func glBlendEquation(GLenum)`](/documentation/OpenGLES/glBlendEquation(_:))

[`func glBlendEquationOES(GLenum)`](/documentation/OpenGLES/glBlendEquationOES(_:))

[`func glBlendEquationSeparate(GLenum, GLenum)`](/documentation/OpenGLES/glBlendEquationSeparate(_:_:))

[`func glBlendEquationSeparateOES(GLenum, GLenum)`](/documentation/OpenGLES/glBlendEquationSeparateOES(_:_:))

[`func glBlendFunc(GLenum, GLenum)`](/documentation/OpenGLES/glBlendFunc(_:_:))

[`func glBlendFuncSeparate(GLenum, GLenum, GLenum, GLenum)`](/documentation/OpenGLES/glBlendFuncSeparate(_:_:_:_:))

[`func glBlendFuncSeparateOES(GLenum, GLenum, GLenum, GLenum)`](/documentation/OpenGLES/glBlendFuncSeparateOES(_:_:_:_:))

[`func glBlitFramebuffer(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)`](/documentation/OpenGLES/glBlitFramebuffer(_:_:_:_:_:_:_:_:_:_:))

[`func glBufferData(GLenum, GLsizeiptr, UnsafeRawPointer!, GLenum)`](/documentation/OpenGLES/glBufferData(_:_:_:_:))

[`func glBufferSubData(GLenum, GLintptr, GLsizeiptr, UnsafeRawPointer!)`](/documentation/OpenGLES/glBufferSubData(_:_:_:_:))

[`func glCheckFramebufferStatus(GLenum) -> GLenum`](/documentation/OpenGLES/glCheckFramebufferStatus(_:))

[`func glCheckFramebufferStatusOES(GLenum) -> GLenum`](/documentation/OpenGLES/glCheckFramebufferStatusOES(_:))

[`func glClear(GLbitfield)`](/documentation/OpenGLES/glClear(_:))

[`func glClearBufferfi(GLenum, GLint, GLfloat, GLint)`](/documentation/OpenGLES/glClearBufferfi(_:_:_:_:))

[`func glClearBufferfv(GLenum, GLint, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glClearBufferfv(_:_:_:))

[`func glClearBufferiv(GLenum, GLint, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glClearBufferiv(_:_:_:))

[`func glClearBufferuiv(GLenum, GLint, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glClearBufferuiv(_:_:_:))

[`func glClearColor(GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glClearColor(_:_:_:_:))

[`func glClearColorx(GLclampx, GLclampx, GLclampx, GLclampx)`](/documentation/OpenGLES/glClearColorx(_:_:_:_:))

[`func glClearDepthf(GLclampf)`](/documentation/OpenGLES/glClearDepthf(_:))

[`func glClearDepthx(GLclampx)`](/documentation/OpenGLES/glClearDepthx(_:))

[`func glClearStencil(GLint)`](/documentation/OpenGLES/glClearStencil(_:))

[`func glClientActiveTexture(GLenum)`](/documentation/OpenGLES/glClientActiveTexture(_:))

[`func glClientWaitSync(GLsync!, GLbitfield, GLuint64) -> GLenum`](/documentation/OpenGLES/glClientWaitSync(_:_:_:))

[`func glClientWaitSyncAPPLE(GLsync!, GLbitfield, GLuint64) -> GLenum`](/documentation/OpenGLES/glClientWaitSyncAPPLE(_:_:_:))

[`func glClipPlanef(GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glClipPlanef(_:_:))

[`func glClipPlanex(GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glClipPlanex(_:_:))

[`func glColor4f(GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glColor4f(_:_:_:_:))

[`func glColor4ub(GLubyte, GLubyte, GLubyte, GLubyte)`](/documentation/OpenGLES/glColor4ub(_:_:_:_:))

[`func glColor4x(GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glColor4x(_:_:_:_:))

[`func glColorMask(GLboolean, GLboolean, GLboolean, GLboolean)`](/documentation/OpenGLES/glColorMask(_:_:_:_:))

[`func glColorPointer(GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glColorPointer(_:_:_:_:))

[`func glCompileShader(GLuint)`](/documentation/OpenGLES/glCompileShader(_:))

[`func glCompressedTexImage2D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glCompressedTexImage2D(_:_:_:_:_:_:_:_:))

[`func glCompressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glCompressedTexImage3D(_:_:_:_:_:_:_:_:_:))

[`func glCompressedTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glCompressedTexSubImage2D(_:_:_:_:_:_:_:_:_:))

[`func glCompressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glCompressedTexSubImage3D(_:_:_:_:_:_:_:_:_:_:_:))

[`func glCopyBufferSubData(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)`](/documentation/OpenGLES/glCopyBufferSubData(_:_:_:_:_:))

[`func glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)`](/documentation/OpenGLES/glCopyTexImage2D(_:_:_:_:_:_:_:_:))

[`func glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glCopyTexSubImage2D(_:_:_:_:_:_:_:_:))

[`func glCopyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glCopyTexSubImage3D(_:_:_:_:_:_:_:_:_:))

[`func glCopyTextureLevelsAPPLE(GLuint, GLuint, GLint, GLsizei)`](/documentation/OpenGLES/glCopyTextureLevelsAPPLE(_:_:_:_:))

[`func glCreateProgram() -> GLuint`](/documentation/OpenGLES/glCreateProgram())

[`func glCreateShader(GLenum) -> GLuint`](/documentation/OpenGLES/glCreateShader(_:))

[`func glCreateShaderProgramvEXT(GLenum, GLsizei, UnsafePointer<UnsafePointer<GLchar>?>!) -> GLuint`](/documentation/OpenGLES/glCreateShaderProgramvEXT(_:_:_:))

[`func glCullFace(GLenum)`](/documentation/OpenGLES/glCullFace(_:))

[`func glCurrentPaletteMatrixOES(GLuint)`](/documentation/OpenGLES/glCurrentPaletteMatrixOES(_:))

[`func glDeleteBuffers(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteBuffers(_:_:))

[`func glDeleteFramebuffers(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteFramebuffers(_:_:))

[`func glDeleteFramebuffersOES(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteFramebuffersOES(_:_:))

[`func glDeleteProgram(GLuint)`](/documentation/OpenGLES/glDeleteProgram(_:))

[`func glDeleteProgramPipelinesEXT(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteProgramPipelinesEXT(_:_:))

[`func glDeleteQueries(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteQueries(_:_:))

[`func glDeleteQueriesEXT(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteQueriesEXT(_:_:))

[`func glDeleteRenderbuffers(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteRenderbuffers(_:_:))

[`func glDeleteRenderbuffersOES(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteRenderbuffersOES(_:_:))

[`func glDeleteSamplers(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteSamplers(_:_:))

[`func glDeleteShader(GLuint)`](/documentation/OpenGLES/glDeleteShader(_:))

[`func glDeleteSync(GLsync!)`](/documentation/OpenGLES/glDeleteSync(_:))

[`func glDeleteSyncAPPLE(GLsync!)`](/documentation/OpenGLES/glDeleteSyncAPPLE(_:))

[`func glDeleteTextures(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteTextures(_:_:))

[`func glDeleteTransformFeedbacks(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteTransformFeedbacks(_:_:))

[`func glDeleteVertexArrays(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteVertexArrays(_:_:))

[`func glDeleteVertexArraysOES(GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glDeleteVertexArraysOES(_:_:))

[`func glDepthFunc(GLenum)`](/documentation/OpenGLES/glDepthFunc(_:))

[`func glDepthMask(GLboolean)`](/documentation/OpenGLES/glDepthMask(_:))

[`func glDepthRangef(GLclampf, GLclampf)`](/documentation/OpenGLES/glDepthRangef(_:_:))

[`func glDepthRangex(GLclampx, GLclampx)`](/documentation/OpenGLES/glDepthRangex(_:_:))

[`func glDetachShader(GLuint, GLuint)`](/documentation/OpenGLES/glDetachShader(_:_:))

[`func glDisable(GLenum)`](/documentation/OpenGLES/glDisable(_:))

[`func glDisableClientState(GLenum)`](/documentation/OpenGLES/glDisableClientState(_:))

[`func glDisableVertexAttribArray(GLuint)`](/documentation/OpenGLES/glDisableVertexAttribArray(_:))

[`func glDiscardFramebufferEXT(GLenum, GLsizei, UnsafePointer<GLenum>!)`](/documentation/OpenGLES/glDiscardFramebufferEXT(_:_:_:))

[`func glDrawArrays(GLenum, GLint, GLsizei)`](/documentation/OpenGLES/glDrawArrays(_:_:_:))

[`func glDrawArraysInstanced(GLenum, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glDrawArraysInstanced(_:_:_:_:))

[`func glDrawArraysInstancedEXT(GLenum, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glDrawArraysInstancedEXT(_:_:_:_:))

[`func glDrawBuffers(GLsizei, UnsafePointer<GLenum>!)`](/documentation/OpenGLES/glDrawBuffers(_:_:))

[`func glDrawElements(GLenum, GLsizei, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glDrawElements(_:_:_:_:))

[`func glDrawElementsInstanced(GLenum, GLsizei, GLenum, UnsafeRawPointer!, GLsizei)`](/documentation/OpenGLES/glDrawElementsInstanced(_:_:_:_:_:))

[`func glDrawElementsInstancedEXT(GLenum, GLsizei, GLenum, UnsafeRawPointer!, GLsizei)`](/documentation/OpenGLES/glDrawElementsInstancedEXT(_:_:_:_:_:))

[`func glDrawRangeElements(GLenum, GLuint, GLuint, GLsizei, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glDrawRangeElements(_:_:_:_:_:_:))

[`func glDrawTexfOES(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glDrawTexfOES(_:_:_:_:_:))

[`func glDrawTexfvOES(UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glDrawTexfvOES(_:))

[`func glDrawTexiOES(GLint, GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glDrawTexiOES(_:_:_:_:_:))

[`func glDrawTexivOES(UnsafePointer<GLint>!)`](/documentation/OpenGLES/glDrawTexivOES(_:))

[`func glDrawTexsOES(GLshort, GLshort, GLshort, GLshort, GLshort)`](/documentation/OpenGLES/glDrawTexsOES(_:_:_:_:_:))

[`func glDrawTexsvOES(UnsafePointer<GLshort>!)`](/documentation/OpenGLES/glDrawTexsvOES(_:))

[`func glDrawTexxOES(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glDrawTexxOES(_:_:_:_:_:))

[`func glDrawTexxvOES(UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glDrawTexxvOES(_:))

[`func glEnable(GLenum)`](/documentation/OpenGLES/glEnable(_:))

[`func glEnableClientState(GLenum)`](/documentation/OpenGLES/glEnableClientState(_:))

[`func glEnableVertexAttribArray(GLuint)`](/documentation/OpenGLES/glEnableVertexAttribArray(_:))

[`func glEndQuery(GLenum)`](/documentation/OpenGLES/glEndQuery(_:))

[`func glEndQueryEXT(GLenum)`](/documentation/OpenGLES/glEndQueryEXT(_:))

[`func glEndTransformFeedback()`](/documentation/OpenGLES/glEndTransformFeedback())

[`func glFenceSync(GLenum, GLbitfield) -> GLsync!`](/documentation/OpenGLES/glFenceSync(_:_:))

[`func glFenceSyncAPPLE(GLenum, GLbitfield) -> GLsync!`](/documentation/OpenGLES/glFenceSyncAPPLE(_:_:))

[`func glFinish()`](/documentation/OpenGLES/glFinish())

[`func glFlush()`](/documentation/OpenGLES/glFlush())

[`func glFlushMappedBufferRange(GLenum, GLintptr, GLsizeiptr)`](/documentation/OpenGLES/glFlushMappedBufferRange(_:_:_:))

[`func glFlushMappedBufferRangeEXT(GLenum, GLintptr, GLsizeiptr)`](/documentation/OpenGLES/glFlushMappedBufferRangeEXT(_:_:_:))

[`func glFogf(GLenum, GLfloat)`](/documentation/OpenGLES/glFogf(_:_:))

[`func glFogfv(GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glFogfv(_:_:))

[`func glFogx(GLenum, GLfixed)`](/documentation/OpenGLES/glFogx(_:_:))

[`func glFogxv(GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glFogxv(_:_:))

[`func glFramebufferRenderbuffer(GLenum, GLenum, GLenum, GLuint)`](/documentation/OpenGLES/glFramebufferRenderbuffer(_:_:_:_:))

[`func glFramebufferRenderbufferOES(GLenum, GLenum, GLenum, GLuint)`](/documentation/OpenGLES/glFramebufferRenderbufferOES(_:_:_:_:))

[`func glFramebufferTexture2D(GLenum, GLenum, GLenum, GLuint, GLint)`](/documentation/OpenGLES/glFramebufferTexture2D(_:_:_:_:_:))

[`func glFramebufferTexture2DOES(GLenum, GLenum, GLenum, GLuint, GLint)`](/documentation/OpenGLES/glFramebufferTexture2DOES(_:_:_:_:_:))

[`func glFrontFace(GLenum)`](/documentation/OpenGLES/glFrontFace(_:))

[`func glFrustumf(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glFrustumf(_:_:_:_:_:_:))

[`func glFrustumx(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glFrustumx(_:_:_:_:_:_:))

[`func glGenBuffers(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenBuffers(_:_:))

[`func glGenFramebuffers(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenFramebuffers(_:_:))

[`func glGenFramebuffersOES(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenFramebuffersOES(_:_:))

[`func glGenProgramPipelinesEXT(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenProgramPipelinesEXT(_:_:))

[`func glGenQueries(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenQueries(_:_:))

[`func glGenQueriesEXT(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenQueriesEXT(_:_:))

[`func glGenRenderbuffers(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenRenderbuffers(_:_:))

[`func glGenRenderbuffersOES(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenRenderbuffersOES(_:_:))

[`func glGenSamplers(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenSamplers(_:_:))

[`func glGenTextures(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenTextures(_:_:))

[`func glGenTransformFeedbacks(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenTransformFeedbacks(_:_:))

[`func glGenVertexArrays(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenVertexArrays(_:_:))

[`func glGenVertexArraysOES(GLsizei, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGenVertexArraysOES(_:_:))

[`func glGenerateMipmap(GLenum)`](/documentation/OpenGLES/glGenerateMipmap(_:))

[`func glGenerateMipmapOES(GLenum)`](/documentation/OpenGLES/glGenerateMipmapOES(_:))

[`func glGetActiveAttrib(GLuint, GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLint>!, UnsafeMutablePointer<GLenum>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetActiveAttrib(_:_:_:_:_:_:_:))

[`func glGetActiveUniform(GLuint, GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLint>!, UnsafeMutablePointer<GLenum>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetActiveUniform(_:_:_:_:_:_:_:))

[`func glGetActiveUniformBlockiv(GLuint, GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetActiveUniformBlockiv(_:_:_:_:))

[`func glGetActiveUniformBlockName(GLuint, GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetActiveUniformBlockName(_:_:_:_:_:))

[`func glGetActiveUniformsiv(GLuint, GLsizei, UnsafePointer<GLuint>!, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetActiveUniformsiv(_:_:_:_:_:))

[`func glGetAttachedShaders(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetAttachedShaders(_:_:_:_:))

[`func glGetAttribLocation(GLuint, UnsafePointer<GLchar>!) -> Int32`](/documentation/OpenGLES/glGetAttribLocation(_:_:))

[`func glGetBooleanv(GLenum, UnsafeMutablePointer<GLboolean>!)`](/documentation/OpenGLES/glGetBooleanv(_:_:))

[`func glGetBufferParameteri64v(GLenum, GLenum, UnsafeMutablePointer<GLint64>!)`](/documentation/OpenGLES/glGetBufferParameteri64v(_:_:_:))

[`func glGetBufferParameteriv(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetBufferParameteriv(_:_:_:))

[`func glGetBufferPointerv(GLenum, GLenum, UnsafeMutablePointer<UnsafeMutableRawPointer?>!)`](/documentation/OpenGLES/glGetBufferPointerv(_:_:_:))

[`func glGetBufferPointervOES(GLenum, GLenum, UnsafeMutablePointer<UnsafeMutableRawPointer?>!)`](/documentation/OpenGLES/glGetBufferPointervOES(_:_:_:))

[`func glGetClipPlanef(GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetClipPlanef(_:_:))

[`func glGetClipPlanex(GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetClipPlanex(_:_:))

[`func glGetError() -> GLenum`](/documentation/OpenGLES/glGetError())

[`func glGetFixedv(GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetFixedv(_:_:))

[`func glGetFloatv(GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetFloatv(_:_:))

[`func glGetFragDataLocation(GLuint, UnsafePointer<GLchar>!) -> GLint`](/documentation/OpenGLES/glGetFragDataLocation(_:_:))

[`func glGetFramebufferAttachmentParameteriv(GLenum, GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetFramebufferAttachmentParameteriv(_:_:_:_:))

[`func glGetFramebufferAttachmentParameterivOES(GLenum, GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetFramebufferAttachmentParameterivOES(_:_:_:_:))

[`func glGetInteger64i_v(GLenum, GLuint, UnsafeMutablePointer<GLint64>!)`](/documentation/OpenGLES/glGetInteger64i_v(_:_:_:))

[`func glGetInteger64v(GLenum, UnsafeMutablePointer<GLint64>!)`](/documentation/OpenGLES/glGetInteger64v(_:_:))

[`func glGetInteger64vAPPLE(GLenum, UnsafeMutablePointer<GLint64>!)`](/documentation/OpenGLES/glGetInteger64vAPPLE(_:_:))

[`func glGetIntegeri_v(GLenum, GLuint, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetIntegeri_v(_:_:_:))

[`func glGetIntegerv(GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetIntegerv(_:_:))

[`func glGetInternalformativ(GLenum, GLenum, GLenum, GLsizei, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetInternalformativ(_:_:_:_:_:))

[`func glGetLightfv(GLenum, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetLightfv(_:_:_:))

[`func glGetLightxv(GLenum, GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetLightxv(_:_:_:))

[`func glGetMaterialfv(GLenum, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetMaterialfv(_:_:_:))

[`func glGetMaterialxv(GLenum, GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetMaterialxv(_:_:_:))

[`func glGetObjectLabelEXT(GLenum, GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetObjectLabelEXT(_:_:_:_:_:))

[`func glGetPointerv(GLenum, UnsafeMutablePointer<UnsafeMutableRawPointer?>!)`](/documentation/OpenGLES/glGetPointerv(_:_:))

[`func glGetProgramBinary(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLenum>!, UnsafeMutableRawPointer!)`](/documentation/OpenGLES/glGetProgramBinary(_:_:_:_:_:))

[`func glGetProgramInfoLog(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetProgramInfoLog(_:_:_:_:))

[`func glGetProgramPipelineInfoLogEXT(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetProgramPipelineInfoLogEXT(_:_:_:_:))

[`func glGetProgramPipelineivEXT(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetProgramPipelineivEXT(_:_:_:))

[`func glGetProgramiv(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetProgramiv(_:_:_:))

[`func glGetQueryObjectuiv(GLuint, GLenum, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetQueryObjectuiv(_:_:_:))

[`func glGetQueryObjectuivEXT(GLuint, GLenum, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetQueryObjectuivEXT(_:_:_:))

[`func glGetQueryiv(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetQueryiv(_:_:_:))

[`func glGetQueryivEXT(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetQueryivEXT(_:_:_:))

[`func glGetRenderbufferParameteriv(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetRenderbufferParameteriv(_:_:_:))

[`func glGetRenderbufferParameterivOES(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetRenderbufferParameterivOES(_:_:_:))

[`func glGetSamplerParameterfv(GLuint, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetSamplerParameterfv(_:_:_:))

[`func glGetSamplerParameteriv(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetSamplerParameteriv(_:_:_:))

[`func glGetShaderInfoLog(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetShaderInfoLog(_:_:_:_:))

[`func glGetShaderPrecisionFormat(GLenum, GLenum, UnsafeMutablePointer<GLint>!, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetShaderPrecisionFormat(_:_:_:_:))

[`func glGetShaderSource(GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetShaderSource(_:_:_:_:))

[`func glGetShaderiv(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetShaderiv(_:_:_:))

[`func glGetString(GLenum) -> UnsafePointer<GLubyte>!`](/documentation/OpenGLES/glGetString(_:))

[`func glGetStringi(GLenum, GLuint) -> UnsafePointer<GLubyte>!`](/documentation/OpenGLES/glGetStringi(_:_:))

[`func glGetSynciv(GLsync!, GLenum, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetSynciv(_:_:_:_:_:))

[`func glGetSyncivAPPLE(GLsync!, GLenum, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetSyncivAPPLE(_:_:_:_:_:))

[`func glGetTexEnvfv(GLenum, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetTexEnvfv(_:_:_:))

[`func glGetTexEnviv(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetTexEnviv(_:_:_:))

[`func glGetTexEnvxv(GLenum, GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetTexEnvxv(_:_:_:))

[`func glGetTexParameterfv(GLenum, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetTexParameterfv(_:_:_:))

[`func glGetTexParameteriv(GLenum, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetTexParameteriv(_:_:_:))

[`func glGetTexParameterxv(GLenum, GLenum, UnsafeMutablePointer<GLfixed>!)`](/documentation/OpenGLES/glGetTexParameterxv(_:_:_:))

[`func glGetTransformFeedbackVarying(GLuint, GLuint, GLsizei, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLsizei>!, UnsafeMutablePointer<GLenum>!, UnsafeMutablePointer<GLchar>!)`](/documentation/OpenGLES/glGetTransformFeedbackVarying(_:_:_:_:_:_:_:))

[`func glGetUniformBlockIndex(GLuint, UnsafePointer<GLchar>!) -> GLuint`](/documentation/OpenGLES/glGetUniformBlockIndex(_:_:))

[`func glGetUniformfv(GLuint, GLint, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetUniformfv(_:_:_:))

[`func glGetUniformIndices(GLuint, GLsizei, UnsafePointer<UnsafePointer<GLchar>?>!, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetUniformIndices(_:_:_:_:))

[`func glGetUniformiv(GLuint, GLint, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetUniformiv(_:_:_:))

[`func glGetUniformLocation(GLuint, UnsafePointer<GLchar>!) -> Int32`](/documentation/OpenGLES/glGetUniformLocation(_:_:))

[`func glGetUniformuiv(GLuint, GLint, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetUniformuiv(_:_:_:))

[`func glGetVertexAttribPointerv(GLuint, GLenum, UnsafeMutablePointer<UnsafeMutableRawPointer?>!)`](/documentation/OpenGLES/glGetVertexAttribPointerv(_:_:_:))

[`func glGetVertexAttribfv(GLuint, GLenum, UnsafeMutablePointer<GLfloat>!)`](/documentation/OpenGLES/glGetVertexAttribfv(_:_:_:))

[`func glGetVertexAttribiv(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetVertexAttribiv(_:_:_:))

[`func glGetVertexAttribIiv(GLuint, GLenum, UnsafeMutablePointer<GLint>!)`](/documentation/OpenGLES/glGetVertexAttribIiv(_:_:_:))

[`func glGetVertexAttribIuiv(GLuint, GLenum, UnsafeMutablePointer<GLuint>!)`](/documentation/OpenGLES/glGetVertexAttribIuiv(_:_:_:))

[`func glHint(GLenum, GLenum)`](/documentation/OpenGLES/glHint(_:_:))

[`func glInsertEventMarkerEXT(GLsizei, UnsafePointer<GLchar>!)`](/documentation/OpenGLES/glInsertEventMarkerEXT(_:_:))

[`func glInvalidateFramebuffer(GLenum, GLsizei, UnsafePointer<GLenum>!)`](/documentation/OpenGLES/glInvalidateFramebuffer(_:_:_:))

[`func glInvalidateSubFramebuffer(GLenum, GLsizei, UnsafePointer<GLenum>!, GLint, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glInvalidateSubFramebuffer(_:_:_:_:_:_:_:))

[`func glIsBuffer(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsBuffer(_:))

[`func glIsEnabled(GLenum) -> GLboolean`](/documentation/OpenGLES/glIsEnabled(_:))

[`func glIsFramebuffer(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsFramebuffer(_:))

[`func glIsFramebufferOES(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsFramebufferOES(_:))

[`func glIsProgram(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsProgram(_:))

[`func glIsProgramPipelineEXT(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsProgramPipelineEXT(_:))

[`func glIsQuery(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsQuery(_:))

[`func glIsQueryEXT(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsQueryEXT(_:))

[`func glIsRenderbuffer(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsRenderbuffer(_:))

[`func glIsRenderbufferOES(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsRenderbufferOES(_:))

[`func glIsSampler(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsSampler(_:))

[`func glIsShader(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsShader(_:))

[`func glIsSync(GLsync!) -> GLboolean`](/documentation/OpenGLES/glIsSync(_:))

[`func glIsSyncAPPLE(GLsync!) -> GLboolean`](/documentation/OpenGLES/glIsSyncAPPLE(_:))

[`func glIsTexture(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsTexture(_:))

[`func glIsTransformFeedback(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsTransformFeedback(_:))

[`func glIsVertexArray(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsVertexArray(_:))

[`func glIsVertexArrayOES(GLuint) -> GLboolean`](/documentation/OpenGLES/glIsVertexArrayOES(_:))

[`func glLabelObjectEXT(GLenum, GLuint, GLsizei, UnsafePointer<GLchar>!)`](/documentation/OpenGLES/glLabelObjectEXT(_:_:_:_:))

[`func glLightf(GLenum, GLenum, GLfloat)`](/documentation/OpenGLES/glLightf(_:_:_:))

[`func glLightfv(GLenum, GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glLightfv(_:_:_:))

[`func glLightModelf(GLenum, GLfloat)`](/documentation/OpenGLES/glLightModelf(_:_:))

[`func glLightModelfv(GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glLightModelfv(_:_:))

[`func glLightModelx(GLenum, GLfixed)`](/documentation/OpenGLES/glLightModelx(_:_:))

[`func glLightModelxv(GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glLightModelxv(_:_:))

[`func glLightx(GLenum, GLenum, GLfixed)`](/documentation/OpenGLES/glLightx(_:_:_:))

[`func glLightxv(GLenum, GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glLightxv(_:_:_:))

[`func glLineWidth(GLfloat)`](/documentation/OpenGLES/glLineWidth(_:))

[`func glLineWidthx(GLfixed)`](/documentation/OpenGLES/glLineWidthx(_:))

[`func glLinkProgram(GLuint)`](/documentation/OpenGLES/glLinkProgram(_:))

[`func glLoadIdentity()`](/documentation/OpenGLES/glLoadIdentity())

[`func glLoadMatrixf(UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glLoadMatrixf(_:))

[`func glLoadMatrixx(UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glLoadMatrixx(_:))

[`func glLoadPaletteFromModelViewMatrixOES()`](/documentation/OpenGLES/glLoadPaletteFromModelViewMatrixOES())

[`func glLogicOp(GLenum)`](/documentation/OpenGLES/glLogicOp(_:))

[`func glMapBufferOES(GLenum, GLenum) -> UnsafeMutableRawPointer!`](/documentation/OpenGLES/glMapBufferOES(_:_:))

[`func glMapBufferRange(GLenum, GLintptr, GLsizeiptr, GLbitfield) -> UnsafeMutableRawPointer!`](/documentation/OpenGLES/glMapBufferRange(_:_:_:_:))

[`func glMapBufferRangeEXT(GLenum, GLintptr, GLsizeiptr, GLbitfield) -> UnsafeMutableRawPointer!`](/documentation/OpenGLES/glMapBufferRangeEXT(_:_:_:_:))

[`func glMaterialf(GLenum, GLenum, GLfloat)`](/documentation/OpenGLES/glMaterialf(_:_:_:))

[`func glMaterialfv(GLenum, GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glMaterialfv(_:_:_:))

[`func glMaterialx(GLenum, GLenum, GLfixed)`](/documentation/OpenGLES/glMaterialx(_:_:_:))

[`func glMaterialxv(GLenum, GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glMaterialxv(_:_:_:))

[`func glMatrixMode(GLenum)`](/documentation/OpenGLES/glMatrixMode(_:))

[`func glMatrixIndexPointerOES(GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glMatrixIndexPointerOES(_:_:_:_:))

[`func glMultMatrixx(UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glMultMatrixx(_:))

[`func glMultiTexCoord4f(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glMultiTexCoord4f(_:_:_:_:_:))

[`func glMultiTexCoord4x(GLenum, GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glMultiTexCoord4x(_:_:_:_:_:))

[`func glMultMatrixf(UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glMultMatrixf(_:))

[`func glNormal3f(GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glNormal3f(_:_:_:))

[`func glNormal3x(GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glNormal3x(_:_:_:))

[`func glOrthof(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glOrthof(_:_:_:_:_:_:))

[`func glOrthox(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glOrthox(_:_:_:_:_:_:))

[`func glNormalPointer(GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glNormalPointer(_:_:_:))

[`func glPauseTransformFeedback()`](/documentation/OpenGLES/glPauseTransformFeedback())

[`func glPixelStorei(GLenum, GLint)`](/documentation/OpenGLES/glPixelStorei(_:_:))

[`func glPointParameterf(GLenum, GLfloat)`](/documentation/OpenGLES/glPointParameterf(_:_:))

[`func glPointParameterfv(GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glPointParameterfv(_:_:))

[`func glPointParameterx(GLenum, GLfixed)`](/documentation/OpenGLES/glPointParameterx(_:_:))

[`func glPointParameterxv(GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glPointParameterxv(_:_:))

[`func glPointSize(GLfloat)`](/documentation/OpenGLES/glPointSize(_:))

[`func glPointSizePointerOES(GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glPointSizePointerOES(_:_:_:))

[`func glPointSizex(GLfixed)`](/documentation/OpenGLES/glPointSizex(_:))

[`func glPolygonOffset(GLfloat, GLfloat)`](/documentation/OpenGLES/glPolygonOffset(_:_:))

[`func glPolygonOffsetx(GLfixed, GLfixed)`](/documentation/OpenGLES/glPolygonOffsetx(_:_:))

[`func glPopGroupMarkerEXT()`](/documentation/OpenGLES/glPopGroupMarkerEXT())

[`func glPopMatrix()`](/documentation/OpenGLES/glPopMatrix())

[`func glProgramBinary(GLuint, GLenum, UnsafeRawPointer!, GLsizei)`](/documentation/OpenGLES/glProgramBinary(_:_:_:_:))

[`func glProgramParameteri(GLuint, GLenum, GLint)`](/documentation/OpenGLES/glProgramParameteri(_:_:_:))

[`func glProgramParameteriEXT(GLuint, GLenum, GLint)`](/documentation/OpenGLES/glProgramParameteriEXT(_:_:_:))

[`func glProgramUniform1fEXT(GLuint, GLint, GLfloat)`](/documentation/OpenGLES/glProgramUniform1fEXT(_:_:_:))

[`func glProgramUniform1fvEXT(GLuint, GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniform1fvEXT(_:_:_:_:))

[`func glProgramUniform1iEXT(GLuint, GLint, GLint)`](/documentation/OpenGLES/glProgramUniform1iEXT(_:_:_:))

[`func glProgramUniform1ivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glProgramUniform1ivEXT(_:_:_:_:))

[`func glProgramUniform1uiEXT(GLuint, GLint, GLuint)`](/documentation/OpenGLES/glProgramUniform1uiEXT(_:_:_:))

[`func glProgramUniform1uivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glProgramUniform1uivEXT(_:_:_:_:))

[`func glProgramUniform2fEXT(GLuint, GLint, GLfloat, GLfloat)`](/documentation/OpenGLES/glProgramUniform2fEXT(_:_:_:_:))

[`func glProgramUniform2fvEXT(GLuint, GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniform2fvEXT(_:_:_:_:))

[`func glProgramUniform2iEXT(GLuint, GLint, GLint, GLint)`](/documentation/OpenGLES/glProgramUniform2iEXT(_:_:_:_:))

[`func glProgramUniform2ivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glProgramUniform2ivEXT(_:_:_:_:))

[`func glProgramUniform2uiEXT(GLuint, GLint, GLuint, GLuint)`](/documentation/OpenGLES/glProgramUniform2uiEXT(_:_:_:_:))

[`func glProgramUniform2uivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glProgramUniform2uivEXT(_:_:_:_:))

[`func glProgramUniform3fEXT(GLuint, GLint, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glProgramUniform3fEXT(_:_:_:_:_:))

[`func glProgramUniform3fvEXT(GLuint, GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniform3fvEXT(_:_:_:_:))

[`func glProgramUniform3iEXT(GLuint, GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glProgramUniform3iEXT(_:_:_:_:_:))

[`func glProgramUniform3ivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glProgramUniform3ivEXT(_:_:_:_:))

[`func glProgramUniform3uiEXT(GLuint, GLint, GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glProgramUniform3uiEXT(_:_:_:_:_:))

[`func glProgramUniform3uivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glProgramUniform3uivEXT(_:_:_:_:))

[`func glProgramUniform4fEXT(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glProgramUniform4fEXT(_:_:_:_:_:_:))

[`func glProgramUniform4fvEXT(GLuint, GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniform4fvEXT(_:_:_:_:))

[`func glProgramUniform4iEXT(GLuint, GLint, GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glProgramUniform4iEXT(_:_:_:_:_:_:))

[`func glProgramUniform4ivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glProgramUniform4ivEXT(_:_:_:_:))

[`func glProgramUniform4uiEXT(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glProgramUniform4uiEXT(_:_:_:_:_:_:))

[`func glProgramUniform4uivEXT(GLuint, GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glProgramUniform4uivEXT(_:_:_:_:))

[`func glProgramUniformMatrix2fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix2fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix2x3fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix2x3fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix2x4fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix2x4fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix3fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix3fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix3x2fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix3x2fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix3x4fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix3x4fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix4fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix4fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix4x2fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix4x2fvEXT(_:_:_:_:_:))

[`func glProgramUniformMatrix4x3fvEXT(GLuint, GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glProgramUniformMatrix4x3fvEXT(_:_:_:_:_:))

[`func glPushGroupMarkerEXT(GLsizei, UnsafePointer<GLchar>!)`](/documentation/OpenGLES/glPushGroupMarkerEXT(_:_:))

[`func glPushMatrix()`](/documentation/OpenGLES/glPushMatrix())

[`func glReadBuffer(GLenum)`](/documentation/OpenGLES/glReadBuffer(_:))

[`func glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, UnsafeMutableRawPointer!)`](/documentation/OpenGLES/glReadPixels(_:_:_:_:_:_:_:))

[`func glReleaseShaderCompiler()`](/documentation/OpenGLES/glReleaseShaderCompiler())

[`func glRenderbufferStorage(GLenum, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glRenderbufferStorage(_:_:_:_:))

[`func glRenderbufferStorageMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glRenderbufferStorageMultisample(_:_:_:_:_:))

[`func glRenderbufferStorageMultisampleAPPLE(GLenum, GLsizei, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glRenderbufferStorageMultisampleAPPLE(_:_:_:_:_:))

[`func glRenderbufferStorageOES(GLenum, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glRenderbufferStorageOES(_:_:_:_:))

[`func glResolveMultisampleFramebufferAPPLE()`](/documentation/OpenGLES/glResolveMultisampleFramebufferAPPLE())

[`func glResumeTransformFeedback()`](/documentation/OpenGLES/glResumeTransformFeedback())

[`func glRotatef(GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glRotatef(_:_:_:_:))

[`func glRotatex(GLfixed, GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glRotatex(_:_:_:_:))

[`func glSampleCoverage(GLclampf, GLboolean)`](/documentation/OpenGLES/glSampleCoverage(_:_:))

[`func glSampleCoveragex(GLclampx, GLboolean)`](/documentation/OpenGLES/glSampleCoveragex(_:_:))

[`func glSamplerParameterf(GLuint, GLenum, GLfloat)`](/documentation/OpenGLES/glSamplerParameterf(_:_:_:))

[`func glSamplerParameterfv(GLuint, GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glSamplerParameterfv(_:_:_:))

[`func glSamplerParameteri(GLuint, GLenum, GLint)`](/documentation/OpenGLES/glSamplerParameteri(_:_:_:))

[`func glSamplerParameteriv(GLuint, GLenum, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glSamplerParameteriv(_:_:_:))

[`func glScalef(GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glScalef(_:_:_:))

[`func glScalex(GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glScalex(_:_:_:))

[`func glScissor(GLint, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glScissor(_:_:_:_:))

[`func glShadeModel(GLenum)`](/documentation/OpenGLES/glShadeModel(_:))

[`func glShaderBinary(GLsizei, UnsafePointer<GLuint>!, GLenum, UnsafeRawPointer!, GLsizei)`](/documentation/OpenGLES/glShaderBinary(_:_:_:_:_:))

[`func glShaderSource(GLuint, GLsizei, UnsafePointer<UnsafePointer<GLchar>?>!, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glShaderSource(_:_:_:_:))

[`func glStencilFunc(GLenum, GLint, GLuint)`](/documentation/OpenGLES/glStencilFunc(_:_:_:))

[`func glStencilFuncSeparate(GLenum, GLenum, GLint, GLuint)`](/documentation/OpenGLES/glStencilFuncSeparate(_:_:_:_:))

[`func glStencilMask(GLuint)`](/documentation/OpenGLES/glStencilMask(_:))

[`func glStencilMaskSeparate(GLenum, GLuint)`](/documentation/OpenGLES/glStencilMaskSeparate(_:_:))

[`func glStencilOp(GLenum, GLenum, GLenum)`](/documentation/OpenGLES/glStencilOp(_:_:_:))

[`func glStencilOpSeparate(GLenum, GLenum, GLenum, GLenum)`](/documentation/OpenGLES/glStencilOpSeparate(_:_:_:_:))

[`func glTexCoordPointer(GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glTexCoordPointer(_:_:_:_:))

[`func glTexEnvf(GLenum, GLenum, GLfloat)`](/documentation/OpenGLES/glTexEnvf(_:_:_:))

[`func glTexEnvfv(GLenum, GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glTexEnvfv(_:_:_:))

[`func glTexEnvi(GLenum, GLenum, GLint)`](/documentation/OpenGLES/glTexEnvi(_:_:_:))

[`func glTexEnviv(GLenum, GLenum, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glTexEnviv(_:_:_:))

[`func glTexEnvx(GLenum, GLenum, GLfixed)`](/documentation/OpenGLES/glTexEnvx(_:_:_:))

[`func glTexEnvxv(GLenum, GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glTexEnvxv(_:_:_:))

[`func glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glTexImage2D(_:_:_:_:_:_:_:_:_:))

[`func glTexImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glTexImage3D(_:_:_:_:_:_:_:_:_:_:))

[`func glTexParameterf(GLenum, GLenum, GLfloat)`](/documentation/OpenGLES/glTexParameterf(_:_:_:))

[`func glTexParameterfv(GLenum, GLenum, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glTexParameterfv(_:_:_:))

[`func glTexParameteri(GLenum, GLenum, GLint)`](/documentation/OpenGLES/glTexParameteri(_:_:_:))

[`func glTexParameteriv(GLenum, GLenum, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glTexParameteriv(_:_:_:))

[`func glTexParameterx(GLenum, GLenum, GLfixed)`](/documentation/OpenGLES/glTexParameterx(_:_:_:))

[`func glTexParameterxv(GLenum, GLenum, UnsafePointer<GLfixed>!)`](/documentation/OpenGLES/glTexParameterxv(_:_:_:))

[`func glTexStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glTexStorage2D(_:_:_:_:_:))

[`func glTexStorage2DEXT(GLenum, GLsizei, GLenum, GLsizei, GLsizei)`](/documentation/OpenGLES/glTexStorage2DEXT(_:_:_:_:_:))

[`func glTexStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)`](/documentation/OpenGLES/glTexStorage3D(_:_:_:_:_:_:))

[`func glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glTexSubImage2D(_:_:_:_:_:_:_:_:_:))

[`func glTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, UnsafeRawPointer!)`](/documentation/OpenGLES/glTexSubImage3D(_:_:_:_:_:_:_:_:_:_:_:))

[`func glTransformFeedbackVaryings(GLuint, GLsizei, UnsafePointer<UnsafePointer<GLchar>?>!, GLenum)`](/documentation/OpenGLES/glTransformFeedbackVaryings(_:_:_:_:))

[`func glTranslatef(GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glTranslatef(_:_:_:))

[`func glTranslatex(GLfixed, GLfixed, GLfixed)`](/documentation/OpenGLES/glTranslatex(_:_:_:))

[`func glUniform1f(GLint, GLfloat)`](/documentation/OpenGLES/glUniform1f(_:_:))

[`func glUniform1fv(GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniform1fv(_:_:_:))

[`func glUniform1i(GLint, GLint)`](/documentation/OpenGLES/glUniform1i(_:_:))

[`func glUniform1iv(GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glUniform1iv(_:_:_:))

[`func glUniform1ui(GLint, GLuint)`](/documentation/OpenGLES/glUniform1ui(_:_:))

[`func glUniform1uiv(GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glUniform1uiv(_:_:_:))

[`func glUniform2f(GLint, GLfloat, GLfloat)`](/documentation/OpenGLES/glUniform2f(_:_:_:))

[`func glUniform2fv(GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniform2fv(_:_:_:))

[`func glUniform2i(GLint, GLint, GLint)`](/documentation/OpenGLES/glUniform2i(_:_:_:))

[`func glUniform2iv(GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glUniform2iv(_:_:_:))

[`func glUniform2ui(GLint, GLuint, GLuint)`](/documentation/OpenGLES/glUniform2ui(_:_:_:))

[`func glUniform2uiv(GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glUniform2uiv(_:_:_:))

[`func glUniform3f(GLint, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glUniform3f(_:_:_:_:))

[`func glUniform3fv(GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniform3fv(_:_:_:))

[`func glUniform3i(GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glUniform3i(_:_:_:_:))

[`func glUniform3iv(GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glUniform3iv(_:_:_:))

[`func glUniform3ui(GLint, GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glUniform3ui(_:_:_:_:))

[`func glUniform3uiv(GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glUniform3uiv(_:_:_:))

[`func glUniform4f(GLint, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glUniform4f(_:_:_:_:_:))

[`func glUniform4fv(GLint, GLsizei, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniform4fv(_:_:_:))

[`func glUniform4i(GLint, GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glUniform4i(_:_:_:_:_:))

[`func glUniform4iv(GLint, GLsizei, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glUniform4iv(_:_:_:))

[`func glUniform4ui(GLint, GLuint, GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glUniform4ui(_:_:_:_:_:))

[`func glUniform4uiv(GLint, GLsizei, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glUniform4uiv(_:_:_:))

[`func glUniformBlockBinding(GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glUniformBlockBinding(_:_:_:))

[`func glUniformMatrix2fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix2fv(_:_:_:_:))

[`func glUniformMatrix2x3fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix2x3fv(_:_:_:_:))

[`func glUniformMatrix2x4fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix2x4fv(_:_:_:_:))

[`func glUniformMatrix3fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix3fv(_:_:_:_:))

[`func glUniformMatrix3x2fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix3x2fv(_:_:_:_:))

[`func glUniformMatrix3x4fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix3x4fv(_:_:_:_:))

[`func glUniformMatrix4fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix4fv(_:_:_:_:))

[`func glUniformMatrix4x2fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix4x2fv(_:_:_:_:))

[`func glUniformMatrix4x3fv(GLint, GLsizei, GLboolean, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glUniformMatrix4x3fv(_:_:_:_:))

[`func glUnmapBuffer(GLenum) -> GLboolean`](/documentation/OpenGLES/glUnmapBuffer(_:))

[`func glUnmapBufferOES(GLenum) -> GLboolean`](/documentation/OpenGLES/glUnmapBufferOES(_:))

[`func glUseProgram(GLuint)`](/documentation/OpenGLES/glUseProgram(_:))

[`func glUseProgramStagesEXT(GLuint, GLbitfield, GLuint)`](/documentation/OpenGLES/glUseProgramStagesEXT(_:_:_:))

[`func glValidateProgram(GLuint)`](/documentation/OpenGLES/glValidateProgram(_:))

[`func glValidateProgramPipelineEXT(GLuint)`](/documentation/OpenGLES/glValidateProgramPipelineEXT(_:))

[`func glVertexAttrib1f(GLuint, GLfloat)`](/documentation/OpenGLES/glVertexAttrib1f(_:_:))

[`func glVertexAttrib1fv(GLuint, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glVertexAttrib1fv(_:_:))

[`func glVertexAttrib2f(GLuint, GLfloat, GLfloat)`](/documentation/OpenGLES/glVertexAttrib2f(_:_:_:))

[`func glVertexAttrib2fv(GLuint, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glVertexAttrib2fv(_:_:))

[`func glVertexAttrib3f(GLuint, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glVertexAttrib3f(_:_:_:_:))

[`func glVertexAttrib3fv(GLuint, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glVertexAttrib3fv(_:_:))

[`func glVertexAttrib4f(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)`](/documentation/OpenGLES/glVertexAttrib4f(_:_:_:_:_:))

[`func glVertexAttrib4fv(GLuint, UnsafePointer<GLfloat>!)`](/documentation/OpenGLES/glVertexAttrib4fv(_:_:))

[`func glVertexAttribDivisor(GLuint, GLuint)`](/documentation/OpenGLES/glVertexAttribDivisor(_:_:))

[`func glVertexAttribDivisorEXT(GLuint, GLuint)`](/documentation/OpenGLES/glVertexAttribDivisorEXT(_:_:))

[`func glVertexAttribI4i(GLuint, GLint, GLint, GLint, GLint)`](/documentation/OpenGLES/glVertexAttribI4i(_:_:_:_:_:))

[`func glVertexAttribI4iv(GLuint, UnsafePointer<GLint>!)`](/documentation/OpenGLES/glVertexAttribI4iv(_:_:))

[`func glVertexAttribI4ui(GLuint, GLuint, GLuint, GLuint, GLuint)`](/documentation/OpenGLES/glVertexAttribI4ui(_:_:_:_:_:))

[`func glVertexAttribI4uiv(GLuint, UnsafePointer<GLuint>!)`](/documentation/OpenGLES/glVertexAttribI4uiv(_:_:))

[`func glVertexAttribIPointer(GLuint, GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glVertexAttribIPointer(_:_:_:_:_:))

[`func glVertexAttribPointer(GLuint, GLint, GLenum, GLboolean, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glVertexAttribPointer(_:_:_:_:_:_:))

[`func glVertexPointer(GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glVertexPointer(_:_:_:_:))

[`func glViewport(GLint, GLint, GLsizei, GLsizei)`](/documentation/OpenGLES/glViewport(_:_:_:_:))

[`func glWaitSync(GLsync!, GLbitfield, GLuint64)`](/documentation/OpenGLES/glWaitSync(_:_:_:))

[`func glWaitSyncAPPLE(GLsync!, GLbitfield, GLuint64)`](/documentation/OpenGLES/glWaitSyncAPPLE(_:_:_:))

[`func glWeightPointerOES(GLint, GLenum, GLsizei, UnsafeRawPointer!)`](/documentation/OpenGLES/glWeightPointerOES(_:_:_:_:))



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)