Following is a list of the basic OpenGL subroutines and the purpose of each.
Select the subroutine you want to read about, read the OpenGL Overview, or see what's new in this release.
| A | |
| glAccum | Operates on the accumulation buffer. |
| glAlphaFunc | Specifies the alpha test function. |
| glAreTexturesResident | Determines if textures are loaded in texture memory. |
| glAreTexturesResidentEXT | Determines if textures are loaded in texture memory. |
| glArrayElement | Renders a vertex using the specified vertex array element. |
| glArrayElementEXT | Renders a vertex using the specified vertex array element. |
| B | |
| glBegin or glEnd | Delimits the vertices of a primitive or group of like primitives. |
| glBindTexture | Binds a named texture to a texturing target. |
| glBindTextureEXT | Binds a named texture to a texturing target. |
| glBitmap | Draws a bitmap. |
| glBlendColor | Sets the blend color. |
| glBlendColorEXT | Sets the blend color. |
| glBlendEquation | Specifies the RGB color blend equation. |
| glBlendEquationEXT | Specifies the RGB color blend equation. |
| glBlendFunc | Specifies pixel arithmetic. |
| C | |
| glCallList | Executes a display list. |
| glCallLists | Executes a list of display lists. |
| glClear | Clears buffers within the viewport. |
| glClearAccum | Specifies clear values for the accumulation buffer. |
| glClearColor | Specifies clear values for the color buffers. |
| glClearDepth | Specifies the clear value for the depth buffer. |
| glClearIndex | Specifies the clear value for the color index buffers. |
| glClearStencil | Specifies the clear value for the stencil buffer. |
| glClipPlane | Specifies a plane against which all geometry is clipped. |
| glColor | Sets the current color. |
| glColorMask | Enables and disables the writing of frame buffer color components. |
| glColorMaterial | Causes a material color to track the current color. |
| glColorPointer | Defines an array of colors. |
| glColorPointerEXT | Defines an array of colors. |
| glColorPointerListIBM | Defines a list of color arrays. |
| glCopyPixels | Copies pixels in the frame buffer. |
| glCopyTexImage1D | Defines a one-dimensional (1D) texture image. |
| glCopyTexImage2D | Defines a two-dimensional (2D) texture image. |
| glCopyTexSubImage1D | Copies a one-dimensional (1D) texture subimage. |
| glCopyTexSubImage2D | Copies a two-dimensional (2D) texture subimage. |
| glCopyTexSubImage3D | Copies a three-dimensional (3D) texture subimage. |
| glCopyTexSubImage3DEXT | Copies a three-dimensional (3D) texture subimage. |
| glCullFace | Specifies whether frontfacing or backfacing facets may be culled. |
| D | |
| glDeleteLists | Deletes a contiguous group of display lists. |
| glDeleteTextures | Deletes named textures. |
| glDeleteTexturesEXT | Deletes named textures. |
| glDepthFunc | Specifies the function used for depth buffer comparisons. |
| glDepthMask | Enables or disables writing into the depth buffer. |
| glDepthRange | Specifies the mapping of z values from normalized device coordinates to window coordinates. |
| glDisable | Tests whether a capability is enabled. |
| glDisableClientState | Disables an array. |
| glDrawArrays | Renders primitives from array data. |
| glDrawArraysEXT | Renders primitives from array data. |
| glDrawBuffer | Specifies which color buffers are to be used for drawing. |
| glDrawElements | Renders primitives from array data. |
| glDrawPixels | Writes a block of pixels to the frame buffer. |
| glDrawRangeElements | Renders primitives from array data. |
| E | |
| glEdgeFlag | Marks edges as either boundary or nonboundary. |
| glEdgeFlagPointer | Defines an array of edge flags. |
| glEdgeFlagPointerEXT | Defines an array of edge flags. |
| glEdgeFlagPointerListIBM | Defines a list of edge flag arrays. |
| glEnable or glDisable | Tests whether a capability is enabled. |
| glEnableClientState or glDisableClientState |
Enables or disables an array. |
| glEnd | Delimits the vertices of a primitive or group of like primitives. |
| glEvalCoord | Evaluates enabled one-dimensional (1D) and two-dimensional (2D) maps. |
| glEvalMesh | Computes a one-dimensional (1D) or two-dimensional (2D) grid of points or lines. |
| glEvalPoint | Generates and evaluates a single point in a mesh. |
| F | |
| glFeedbackBuffer | Controls the feedback mode. |
| glFinish | Blocks until all GL execution is complete. |
| glFlush | Forces the running of GL subroutines in finite time. |
| glFog | Specifies fog parameters. |
| glFrontFace | Defines frontfacing and backfacing polygons. |
| glFrustum | Multiplies the current matrix by a perspective matrix. |
| G | |
| glGenLists | Generates a contiguous set of empty display lists. |
| glGenTextures | Generate texture names. |
| glGenTexturesEXT | Generates texture names. |
| glGet | Returns the value or values of a selected parameter. |
| glGetClipPlane | Returns the coefficients of the clipping plane. |
| glGetError | Returns error information. |
| glGetLight | Returns light source parameter values. |
| glGetMap | Returns evaluator parameters. |
| glGetMaterial | Returns material parameters. |
| glGetPixelMap | Returns the specified pixel map. |
| glGetPointerv | Returns the address of the specified pointer. |
| glGetPointervEXT | Returns the address of a vertex data array. |
| glGetPolygonStipple | Returns the polygonstipple pattern. |
| glGetString | Returns a string describing the current GL connection. |
| glGetTexEnv | Returns texture environment parameters. |
| glGetTexGen | Returns texture coordinate generation parameters. |
| glGetTexImage | Returns a texture image. |
| glGetTexLevelParameter | Returns texture parameter levels for a specific level of detail. |
| glGetTexParameter | Returns texture parameter values. |
| H | |
| glHint | Specifies implementation-specific hints. |
| I | |
| glIndex | Sets the current color index. |
| glIndexMask | Controls the writing of individual bits in the color index buffers. |
| glIndexPointer | Defines an array of color indexes. |
| glIndexPointerEXT | Defines an array of color indexes. |
| glIndexPointerListIBM | Defines a list of color index arrays. |
| glInitNames | Initializes the name stack. |
| glInterleavedArrays | Simultaneously specifies and enables several interleaved arrays. |
| glIsEnabled | Tests whether a capability is enabled. |
| glIsList | Tests for display list existence. |
| glIsTexture | Determines if a name corresponds to a texture. |
| glIsTextureEXT | Determines if a name corresponds to a texture. |
| L | |
| glLight | Sets light source parameters. |
| glLightModel | Sets the lighting model parameters. |
| glLineStipple | Specifies the line stipple pattern. |
| glLineWidth | Specifies the width of rasterized lines. |
| glListBase | Sets the display-list base for the glCallLists subroutine. |
| glLoadIdentity | Replaces the current matrix with the identity matrix. |
| glLoadMatrix | Replaces the current matrix with an arbitrary matrix. |
| glLoadName | Loads a name onto the name stack. |
| glLockArraysEXT | Locks the currently enabled vertex arrays. |
| glLogicOp | Specifies a logical pixel operation for color index rendering. |
| M | |
| glMap1 | Defines a one-dimensional (1D) evaluator. |
| glMap2 | Defines a two-dimensional (2D) evaluator. |
| glMapGrid | Defines a one-dimensional (1D) or two-dimensional (2D) mesh. |
| glMaterial | Specifies material parameters for the lighting model. |
| glMatrixMode | Specifies the current matrix. |
| glMultiDrawArraysEXT | Renders multiple primitives from array data. |
| glMultiDrawElementsEXT | Renders multiple primitives from array data. |
| glMultiModeDrawArraysIBM | Renders primitives of multiple primitive types from array data. |
| glMultMatrix | Multiplies the current matrix by an arbitrary matrix. |
| N | |
| glNewList | Creates or replaces a display list. |
| glNormal | Sets the current normal vector. |
| glNormalPointer | Defines an array of normals. |
| glNormalPointerEXT | Defines an array of normals. |
| glNormalPointerListIBM | Defines a list of normal arrays. |
| O | |
| glOrtho | Multiplies the current matrix by an orthographic matrix. |
| P | |
| glPassThrough | Places a marker in the feedback buffer. |
| glPixelMap | Sets up pixel transfer maps. |
| glPixelStore | Sets pixel storage modes. |
| glPixelTransfer | Sets pixel transfer modes. |
| glPixelZoom | Specifies the pixel zoom factors. |
| glPointSize | Specifies the diameter of rasterized points. |
| glPolygonMode | Selects a polygon rasterization mode. |
| glPolygonOffset | Sets the scale and bias used to calculate depth values. |
| glPolygonOffsetEXT | Sets the scale and bias used to calculate z values. |
| glPolygonStipple | Sets the polygon stippling pattern. |
| glPrioritizeTextures | Sets texture residence priority. |
| glPrioritizeTexturesEXT | Sets texture residence priority. |
| glPushAttrib or glPopAttrib | Pushes and pops the attribute stack. |
| glPushClientAttrib or glPopClientAttrib | Pushes and pops the attribute stack. |
| glPushMatrix or glPopMatrix | Pushes and pops the current matrix stack. |
| glPushName or glPopName | Pushes and pops the name stack. |
| R | |
| glRasterPos | Specifies the raster position for pixel operations. |
| glReadBuffer | Selects a color buffer source for pixels. |
| glReadPixels | Reads a block of pixels from the frame buffer. |
| glRect | Draws a rectangle. |
| glRenderMode | Sets rasterization mode. |
| glRotate | Multiplies the current matrix by a rotation matrix. |
| S | |
| glScale | Multiplies the current matrix by a general scaling matrix. |
| glScissor | Defines the scissor box. |
| glSelectBuffer | Establishes a buffer for selection mode values. |
| glShadeModel | Selects flat or smooth shading. |
| glStencilFunc | Sets function and reference values for stencil testing. |
| glStencilMask | Controls the writing of individual bits in the stencil planes. |
| glStencilOp | Sets stencil test actions. |
| T | |
| glTexCoord | Sets the current texture coordinates. |
| glTexCoordPointer | Defines an array of texture coordinates. |
| glTexCoordPointerEXT | Defines an array of texture coordinates. |
| glTexCoordPointerListIBM | Defines a list of texture coordinate arrays. |
| glTexEnv | Sets texture environment parameters. |
| glTexGen | Controls the generation of texture coordinates. |
| glTexImage1D | Specifies a one-dimensional (1D) texture image. |
| glTexImage2D | Specifies a two-dimensional (2D) texture image. |
| glTexImage3D | Specifies a three-dimensional (3D) texture image. |
| glTexImage3DEXT | Specifies a three-dimensional (3D) texture image. |
| glTexParameter | Sets texture parameters. |
| glTexSubImage1D | Specifies a one-dimensional (1D) texture subimage. |
| glTexSubImage1DEXT | Specifies a one-dimensional (1D) texture subimage. |
| glTexSubImage2D | Specifies a two-dimensional (2D) texture subimage. |
| glTexSubImage2DEXT | Specifies a two-dimensional (2D) texture subimage. |
| glTexSubImage3D | Specifies a three-dimensional (3D) texture subimage. |
| glTexSubImage3DEXT | Specifies a three-dimensional (3D) texture subimage. |
| glTranslate | Multiplies the current matrix by a translation matrix. |
| U | |
| glUnLockArraysEXT | Unlocks the currently enabled vertex arrays. |
| V | |
| glVertex | Specifies a vertex. |
| glVertexPointer | Defines an array of vertex data. |
| glVertexPointerEXT | Defines an array of vertex data. |
| glVertexPointerListIBM | Defines a list of vertex arrays. |
| glViewport | Sets the viewport. |