Module BGL

Module BGL

source code

The Blender.BGL submodule (the OpenGL wrapper).

New: some GLU functions: gluLookAt, etc.

The Blender.BGL submodule

This module wraps OpenGL constants and functions, making them available from within Blender Python.

The complete list can be retrieved from the module itself, by listing its contents: dir(Blender.BGL). A simple search on the net can point to more than enough material to teach OpenGL programming, from books to many collections of tutorials.

The "red book": "OpenGL Programming Guide: The Official Guide to Learning OpenGL" and the online NeHe tutorials are two of the best resources.

Example:
 import Blender
 from Blender.BGL import *
 from Blender import Draw
 R = G = B = 0
 A = 1
 title = "Testing BGL  + Draw"
 instructions = "Use mouse buttons or wheel to change the background color."
 quitting = " Press ESC or q to quit."
 len1 = Draw.GetStringWidth(title)
 len2 = Draw.GetStringWidth(instructions + quitting)
 #
 def show_win():
   glClearColor(R,G,B,A)                # define color used to clear buffers 
   glClear(GL_COLOR_BUFFER_BIT)         # use it to clear the color buffer
   glColor3f(0.35,0.18,0.92)            # define default color
   glBegin(GL_POLYGON)                  # begin a vertex data list
   glVertex2i(165, 158)
   glVertex2i(252, 55)
   glVertex2i(104, 128)
   glEnd()
   glColor3f(0.4,0.4,0.4)               # change default color
   glRecti(40, 96, 60+len1, 113)
   glColor3f(1,1,1)
   glRasterPos2i(50,100)                # move cursor to x = 50, y = 100
   Draw.Text(title)                     # draw this text there
   glRasterPos2i(350,40)                # move cursor again
   Draw.Text(instructions + quitting)   # draw another msg
   glBegin(GL_LINE_LOOP)                # begin a vertex-data list
   glVertex2i(46,92)
   glVertex2i(120,92)
   glVertex2i(120,115)
   glVertex2i(46,115)
   glEnd()                              # close this list
 #
 def ev(evt, val):                      # event callback for Draw.Register()
   global R,G,B,A                       # ... it handles input events
   if evt == Draw.ESCKEY or evt == Draw.QKEY:
     Draw.Exit()                        # this quits the script
   elif not val: return
   elif evt == Draw.LEFTMOUSE: R = 1 - R
   elif evt == Draw.MIDDLEMOUSE: G = 1 - G
   elif evt == Draw.RIGHTMOUSE: B = 1 - B
   elif evt == Draw.WHEELUPMOUSE:
     R += 0.1
     if R > 1: R = 1
   elif evt == Draw.WHEELDOWNMOUSE:
     R -= 0.1
     if R < 0: R = 0
   else:
     return                             # don't redraw if nothing changed
   Draw.Redraw(1)                       # make changes visible.
 #
 Draw.Register(show_win, ev, None)      # start the main loop



Note: you can use the Image module and Image.Image BPy object to load and set textures. See Image.Image.glLoad and Image.Image.glFree, for example.

See Also:
www.opengl.org, nehe.gamedev.net
Classes
  Buffer
The Buffer object is simply a block of memory that is delineated and initialized by the user.
Functions
 
glAccum(op, value)
Operate on the accumulation buffer
source code
 
glAlphaFunc(func, ref)
Specify the alpha test function
source code
 
glAreTexturesResident(n, textures, residences)
Determine if textures are loaded in texture memory
source code
 
glBegin(mode)
Delimit the vertices of a primitive or a group of like primatives
source code
 
glBindTexture(target, texture)
Bind a named texture to a texturing target
source code
 
glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap)
Draw a bitmap
source code
 
glBlendFunc(sfactor, dfactor)
Specify pixel arithmetic
source code
 
glCallList(list)
Execute a display list
source code
 
glCallLists(n, type, lists)
Execute a list of display lists
source code
 
glClear(mask)
Clear buffers to preset values
source code
 
glClearAccum(red, green, blue, alpha)
Specify clear values for the accumulation buffer
source code
 
glClearColor(red, green, blue, alpha)
Specify clear values for the color buffers
source code
 
glClearDepth(depth)
Specify the clear value for the depth buffer
source code
 
glClearIndex(c)
Specify the clear value for the color index buffers
source code
 
glClearStencil(s)
Specify the clear value for the stencil buffer
source code
 
glClipPlane(plane, equation)
Specify a plane against which all geometry is clipped
source code
 
glColor(red, green, blue, alpha)
glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us, glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us, glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv, glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv, glColor4uiv, glColor4usv
source code
 
glColorMask(red, green, blue, alpha)
Enable and disable writing of frame buffer color components
source code
 
glColorMaterial(face, mode)
Cause a material color to track the current color
source code
 
glCopyPixels(x, y, width, height, type)
Copy pixels in the frame buffer
source code
 
glCullFace(mode)
Specify whether front- or back-facing facets can be culled
source code
 
glDeleteLists(list, range)
Delete a contiguous group of display lists
source code
 
glDeleteTextures(n, textures)
Delete named textures
source code
 
glDepthFunc(func)
Specify the value used for depth buffer comparisons
source code
 
glDepthMask(flag)
Enable or disable writing into the depth buffer
source code
 
glDepthRange(zNear, zFar)
Specify mapping of depth values from normalized device coordinates to window coordinates
source code
 
glDisable(cap)
Disable server-side GL capabilities
source code
 
glDrawBuffer(mode)
Specify which color buffers are to be drawn into
source code
 
glDrawPixels(width, height, format, type, pixels)
Write a block of pixels to the frame buffer
source code
 
glEdgeFlag(flag)
glEdgeFlag, glEdgeFlagv
source code
 
glEnable(cap)
Enable server-side GL capabilities
source code
 
glEnd()
Delimit the vertices of a primitive or group of like primitives
source code
 
glEndList()
Create or replace a display list
source code
 
glEvalCoord(u, v)
glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv
source code
 
glEvalMesh(mode, i1, i2)
glEvalMesh1 or glEvalMesh2
source code
 
glEvalPoint(i, j)
glEvalPoint1 and glEvalPoint2
source code
 
glFeedbackBuffer(size, type, buffer)
Controls feedback mode
source code
 
glFinish()
Block until all GL execution is complete
source code
 
glFlush()
Force Execution of GL commands in finite time
source code
 
glFog(pname, param)
glFogf, glFogi, glFogfv, glFogiv
source code
 
glFrontFace(mode)
Define front- and back-facing polygons
source code
 
glFrustum(left, right, bottom, top, zNear, zFar)
Multiply the current matrix by a perspective matrix
source code
 
glGenLists(range)
Generate a contiguous set of empty display lists
source code
 
glGenTextures(n, textures)
Generate texture names
source code
 
glGet(pname, param)
glGetBooleanv, glGetfloatv, glGetFloatv, glGetIntegerv
source code
 
glGetClipPlane(plane, equation)
Return the coefficients of the specified clipping plane
source code
 
glGetError()
Return error information
source code
 
glGetLight(light, pname, params)
glGetLightfv and glGetLightiv
source code
 
glGetMap(target, query, v)
glGetMapdv, glGetMapfv, glGetMapiv
source code
 
glGetMaterial(face, pname, params)
glGetMaterialfv, glGetMaterialiv
source code
 
glGetPixelMap(map, values)
glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv
source code
 
glGetPolygonStipple(mask)
Return the polygon stipple pattern
source code
 
glGetString(name)
Return a string describing the current GL connection
source code
 
glGetTexEnv(target, pname, params)
glGetTexEnvfv, glGetTexEnviv
source code
 
glGetTexGen(coord, pname, params)
glGetTexGendv, glGetTexGenfv, glGetTexGeniv
source code
 
glGetTexImage(target, level, format, type, pixels)
Return a texture image
source code
 
glGetTexLevelParameter(target, level, pname, params)
glGetTexLevelParameterfv, glGetTexLevelParameteriv
source code
 
glGetTexParameter(target, pname, params)
glGetTexParameterfv, glGetTexParameteriv
source code
 
glHint(target, mode)
Specify implementation-specific hints
source code
 
glIndex(c)
glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv, glIndexfv, glIndexiv, glIndexsv
source code
 
glInitNames()
Initialize the name stack
source code
 
glIsEnabled(cap)
Test whether a capability is enabled
source code
 
glIsList(list)
Determine if a name corresponds to a display-list
source code
 
glIsTexture(texture)
Determine if a name corresponds to a texture
source code
 
glLight(light, pname, param)
glLightf,glLighti, glLightfv, glLightiv
source code
 
glLightModel(pname, param)
glLightModelf, glLightModeli, glLightModelfv, glLightModeliv
source code
 
glLineStipple(factor, pattern)
Specify the line stipple pattern
source code
 
glLineWidth(width)
Specify the width of rasterized lines.
source code
 
glListBase(base)
Set the display-list base for glCallLists
source code
 
glLoadIdentity()
Replace the current matrix with the identity matrix
source code
 
glLoadMatrix(m)
glLoadMatrixd, glLoadMatixf
source code
 
glLoadName(name)
Load a name onto the name stack.
source code
 
glLogicOp(opcode)
Specify a logical pixel operation for color index rendering
source code
 
glMap1(target, u1, u2, stride, order, points)
glMap1d, glMap1f
source code
 
glMap2(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points)
glMap2d, glMap2f
source code
 
glMapGrid(un, u1, u2, vn, v1, v2)
glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f
source code
 
glMaterial(face, pname, params)
Specify material parameters for the lighting model.
source code
 
glMatrixMode(mode)
Specify which matrix is the current matrix.
source code
 
glMultMatrix(m)
glMultMatrixd, glMultMatrixf
source code
 
glNewList(list, mode)
Create or replace a display list
source code
 
glNormal3(nx, ny, nz, v)
Normal3b, Normal3bv, Normal3d, Normal3dv, Normal3f, Normal3fv, Normal3i, Normal3iv, Normal3s, Normal3sv
source code
 
glOrtho(left, right, bottom, top, zNear, zFar)
Multiply the current matrix with an orthographic matrix
source code
 
glPassThrough(token)
Place a marker in the feedback buffer
source code
 
glPixelMap(map, mapsize, values)
glPixelMapfv, glPixelMapuiv, glPixelMapusv
source code
 
glPixelStore(pname, param)
glPixelStoref, glPixelStorei
source code
 
glPixelTransfer(pname, param)
glPixelTransferf, glPixelTransferi
source code
 
glPixelZoom(xfactor, yfactor)
Specify the pixel zoom factors
source code
 
glPointSize(size)
Specify the diameter of rasterized points
source code
 
glPolygonMode(face, mode)
Select a polygon rasterization mode
source code
 
glPolygonOffset(factor, units)
Set the scale and units used to calculate depth values
source code
 
glPolygonStipple(mask)
Set the polygon stippling pattern
source code
 
glPopAttrib()
Pop the server attribute stack
source code
 
glPopClientAttrib()
Pop the client attribute stack
source code
 
glPopMatrix()
Pop the current matrix stack
source code
 
glPopName()
Pop the name stack
source code
 
glPrioritizeTextures(n, textures, priorities)
Set texture residence priority
source code
 
glPushAttrib(mask)
Push the server attribute stack
source code
 
glPushClientAttrib(mask)
Push the client attribute stack
source code
 
glPushMatrix()
Push the current matrix stack
source code
 
glPushName(name)
Push the name stack
source code
 
glRasterPos(x, y, z, w)
glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d, glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f, glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv, glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv, glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv
source code
 
glReadBuffer(mode)
Select a color buffer source for pixels.
source code
 
glReadPixels(x, y, width, height, format, type, pixels)
Read a block of pixels from the frame buffer
source code
 
glRect(x1, y1, x2, y2, v1, v2)
glRectd, glRectf, glRecti, glRects, glRectdv, glRectfv, glRectiv, glRectsv
source code
 
glRenderMode(mode)
Set rasterization mode
source code
 
glRotate(angle, x, y, z)
glRotated, glRotatef
source code
 
glScale(x, y, z)
glScaled, glScalef
source code
 
glScissor(x, y, width, height)
Define the scissor box
source code
 
glSelectBuffer(size, buffer)
Establish a buffer for selection mode values
source code
 
glShadeModel(mode)
Select flat or smooth shading
source code
 
glStencilFuc(func, ref, mask)
Set function and reference value for stencil testing
source code
 
glStencilMask(mask)
Control the writing of individual bits in the stencil planes
source code
 
glStencilOp(fail, zfail, zpass)
Set stencil test actions
source code
 
glTexCoord(s, t, r, q, v)
glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f, glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s, glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv, glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv, glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv, glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv
source code
 
glTexEnv(target, pname, param)
glTextEnvf, glTextEnvi, glTextEnvfv, glTextEnviv
source code
 
glTexGen(coord, pname, param)
glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv
source code
 
glTexImage1D(target, level, internalformat, width, border, format, type, pixels)
Specify a one-dimensional texture image
source code
 
glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels)
Specify a two-dimensional texture image
source code
 
glTexParameter(target, pname, param)
glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv
source code
 
glTranslate(x, y, z)
glTranslatef, glTranslated
source code
 
glVertex(x, y, z, w, v)
glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i, glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv, glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv, glVertex4iv, glVertex4sv
source code
 
glViewport(x, y, width, height)
Set the viewport
source code
 
gluPerspective(fovY, aspect, zNear, zFar)
Set up a perspective projection matrix.
source code
 
gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz)
Define a viewing transformation
source code
 
gluOrtho2D(left, right, bottom, top)
Define a 2-D orthographic projection matrix
source code
 
gluPickMatrix(x, y, width, height, viewport)
Define a picking region
source code
 
gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz)
Map object coordinates to window coordinates.
source code
 
gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz)
Map object coordinates to window coordinates.
source code
Function Details

glAccum(op, value)

source code 
Operate on the accumulation buffer
Parameters:
  • op (Enumerated constant) - The accumulation buffer operation.
  • value (float) - a value used in the accumulation buffer operation.

glAlphaFunc(func, ref)

source code 
Specify the alpha test function
Parameters:
  • func (Enumerated constant) - Specifies the alpha comparison function.
  • ref (float) - The reference value that incoming alpha values are compared to. Clamped between 0 and 1.

glAreTexturesResident(n, textures, residences)

source code 
Determine if textures are loaded in texture memory
Parameters:
  • n (int) - Specifies the number of textures to be queried.
  • textures (Buffer object type GL_INT) - Specifies an array containing the names of the textures to be queried
  • residences (Buffer object type GL_INT(boolean)) - An array in which the texture residence status in returned.The residence status of a texture named by an element of textures is returned in the corresponding element of residences.

glBegin(mode)

source code 
Delimit the vertices of a primitive or a group of like primatives
Parameters:
  • mode (Enumerated constant) - Specifies the primitive that will be create from vertices between glBegin and glEnd.

glBindTexture(target, texture)

source code 
Bind a named texture to a texturing target
Parameters:
  • target (Enumerated constant) - Specifies the target to which the texture is bound.
  • texture (unsigned int) - Specifies the name of a texture.

glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap)

source code 
Draw a bitmap
Parameters:
  • width, height - Specify the pixel width and height of the bitmap image.
  • xorig, yorig - Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes.
  • xmove, ymove - Specify the x and y offsets to be added to the current raster position after the bitmap is drawn.
  • bitmap (Buffer object type GL_BYTE) - Specifies the address of the bitmap image.

glBlendFunc(sfactor, dfactor)

source code 
Specify pixel arithmetic
Parameters:
  • sfactor (Enumerated constant) - Specifies how the red, green, blue, and alpha source blending factors are computed.
  • dfactor (Enumerated constant) - Specifies how the red, green, blue, and alpha destination blending factors are computed.

glCallList(list)

source code 
Execute a display list
Parameters:
  • list (unsigned int) - Specifies the integer name of the display list to be executed.

glCallLists(n, type, lists)

source code 
Execute a list of display lists
Parameters:
  • n (int) - Specifies the number of display lists to be executed.
  • type (Enumerated constant) - Specifies the type of values in lists.
  • lists (Buffer object) - Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.

glClear(mask)

source code 
Clear buffers to preset values
Parameters:
  • mask (Enumerated constant(s)) - Bitwise OR of masks that indicate the buffers to be cleared.

glClearAccum(red, green, blue, alpha)

source code 
Specify clear values for the accumulation buffer
Parameters:
  • red, green, blue, alpha - Specify the red, green, blue, and alpha values used when the accumulation buffer is cleared. The initial values are all 0.

glClearColor(red, green, blue, alpha)

source code 
Specify clear values for the color buffers
Parameters:
  • red, green, blue, alpha - Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0.

glClearDepth(depth)

source code 
Specify the clear value for the depth buffer
Parameters:
  • depth (int) - Specifies the depth value used when the depth buffer is cleared. The initial value is 1.

glClearIndex(c)

source code 
Specify the clear value for the color index buffers
Parameters:
  • c (float) - Specifies the index used when the color index buffers are cleared. The initial value is 0.

glClearStencil(s)

source code 
Specify the clear value for the stencil buffer
Parameters:
  • s (int) - Specifies the index used when the stencil buffer is cleared. The initial value is 0.

glClipPlane(plane, equation)

source code 
Specify a plane against which all geometry is clipped
Parameters:
  • plane (Enumerated constant) - Specifies which clipping plane is being positioned.
  • equation (Buffer object type GL_FLOAT(double)) - Specifies the address of an array of four double- precision floating-point values. These values are interpreted as a plane equation.

glColor(red, green, blue, alpha)

source code 

glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us, glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us, glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv, glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv, glColor4uiv, glColor4usv

Set a new color.
Parameters:
  • red, green, blue - Specify new red, green, and blue values for the current color.
  • alpha - Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. (With '4' colors only)

glColorMask(red, green, blue, alpha)

source code 
Enable and disable writing of frame buffer color components
Parameters:
  • red, green, blue, alpha - Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written.

glColorMaterial(face, mode)

source code 
Cause a material color to track the current color
Parameters:
  • face (Enumerated constant) - Specifies whether front, back, or both front and back material parameters should track the current color.
  • mode (Enumerated constant) - Specifies which of several material parameters track the current color.

glCopyPixels(x, y, width, height, type)

source code 
Copy pixels in the frame buffer
Parameters:
  • x, y - Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
  • width, height - Specify the dimensions of the rectangular region of pixels to be copied. Both must be non-negative.
  • type (Enumerated constant) - Specifies whether color values, depth values, or stencil values are to be copied.

glCullFace(mode)

source code 
Specify whether front- or back-facing facets can be culled
Parameters:
  • mode (Enumerated constant) - Specifies whether front- or back-facing facets are candidates for culling.

glDeleteLists(list, range)

source code 
Delete a contiguous group of display lists
Parameters:
  • list (unsigned int) - Specifies the integer name of the first display list to delete
  • range (int) - Specifies the number of display lists to delete

glDeleteTextures(n, textures)

source code 
Delete named textures
Parameters:
  • n (int) - Specifies the number of textures to be deleted
  • textures (Buffer GL_INT) - Specifies an array of textures to be deleted

glDepthFunc(func)

source code 
Specify the value used for depth buffer comparisons
Parameters:
  • func (Enumerated constant) - Specifies the depth comparison function.

glDepthMask(flag)

source code 
Enable or disable writing into the depth buffer
Parameters:
  • flag (int (boolean)) - Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled.

glDepthRange(zNear, zFar)

source code 
Specify mapping of depth values from normalized device coordinates to window coordinates
Parameters:
  • zNear (int) - Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
  • zFar (int) - Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.

glDisable(cap)

source code 
Disable server-side GL capabilities
Parameters:
  • cap (Enumerated constant) - Specifies a symbolic constant indicating a GL capability.

glDrawBuffer(mode)

source code 
Specify which color buffers are to be drawn into
Parameters:
  • mode (Enumerated constant) - Specifies up to four color buffers to be drawn into.

glDrawPixels(width, height, format, type, pixels)

source code 
Write a block of pixels to the frame buffer
Parameters:
  • width, height - Specify the dimensions of the pixel rectangle to be written into the frame buffer.
  • format (Enumerated constant) - Specifies the format of the pixel data.
  • type (Enumerated constant) - Specifies the data type for pixels.
  • pixels (Buffer object) - Specifies a pointer to the pixel data.

glEdgeFlag(flag)

source code 

glEdgeFlag, glEdgeFlagv

Flag edges as either boundary or non-boundary
Parameters:
  • flag (Depends of function prototype) - Specifies the current edge flag value.The initial value is GL_TRUE.

glEnable(cap)

source code 
Enable server-side GL capabilities
Parameters:
  • cap (Enumerated constant) - Specifies a symbolic constant indicating a GL capability.

glEnd()

source code 
Delimit the vertices of a primitive or group of like primitives

glEndList()

source code 
Create or replace a display list

glEvalCoord(u, v)

source code 

glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv

Evaluate enabled one- and two-dimensional maps
Parameters:
  • u (Depends on function prototype.) - Specifies a value that is the domain coordinate u to the basis function defined in a previous glMap1 or glMap2 command. If the function prototype ends in 'v' then u specifies a pointer to an array containing either one or two domain coordinates. The first coordinate is u. The second coordinate is v, which is present only in glEvalCoord2 versions.
  • v (Depends on function prototype. (only with '2' prototypes)) - Specifies a value that is the domain coordinate v to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.

glEvalMesh(mode, i1, i2)

source code 

glEvalMesh1 or glEvalMesh2

Compute a one- or two-dimensional grid of points or lines
Parameters:
  • mode (Enumerated constant) - In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines.
  • i1, i2 - Specify the first and last integer values for the grid domain variable i.

glEvalPoint(i, j)

source code 

glEvalPoint1 and glEvalPoint2

Generate and evaluate a single point in a mesh
Parameters:
  • i (int) - Specifies the integer value for grid domain variable i.
  • j (int (only with '2' prototypes)) - Specifies the integer value for grid domain variable j (glEvalPoint2 only).

glFeedbackBuffer(size, type, buffer)

source code 
Controls feedback mode
Parameters:
  • size (int) - Specifies the maximum number of values that can be written into buffer.
  • type (Enumerated constant) - Specifies a symbolic constant that describes the information that will be returned for each vertex.
  • buffer (Buffer object GL_FLOAT) - Returns the feedback data.

glFinish()

source code 
Block until all GL execution is complete

glFlush()

source code 
Force Execution of GL commands in finite time

glFog(pname, param)

source code 

glFogf, glFogi, glFogfv, glFogiv

Specify fog parameters
Parameters:
  • pname (Enumerated constant) - Specifies a single-valued fog parameter. If the function prototype ends in 'v' specifies a fog parameter.
  • param (Depends on function prototype.) - Specifies the value or values to be assigned to pname. GL_FOG_COLOR requires an array of four values. All other parameters accept an array containing only a single value.

glFrontFace(mode)

source code 
Define front- and back-facing polygons
Parameters:
  • mode (Enumerated constant) - Specifies the orientation of front-facing polygons.

glFrustum(left, right, bottom, top, zNear, zFar)

source code 
Multiply the current matrix by a perspective matrix
Parameters:
  • left, right - Specify the coordinates for the left and right vertical clipping planes.
  • top, bottom - Specify the coordinates for the bottom and top horizontal clipping planes.
  • zNear, zFar - Specify the distances to the near and far depth clipping planes. Both distances must be positive.

glGenLists(range)

source code 
Generate a contiguous set of empty display lists
Parameters:
  • range (int) - Specifies the number of contiguous empty display lists to be generated.

glGenTextures(n, textures)

source code 
Generate texture names
Parameters:
  • n (int) - Specifies the number of textures name to be generated.
  • textures (Buffer object type GL_INT) - Specifies an array in which the generated textures names are stored.

glGet(pname, param)

source code 

glGetBooleanv, glGetfloatv, glGetFloatv, glGetIntegerv

Return the value or values of a selected parameter
Parameters:
  • pname (Enumerated constant) - Specifies the parameter value to be returned.
  • param (Depends on function prototype.) - Returns the value or values of the specified parameter.

glGetClipPlane(plane, equation)

source code 
Return the coefficients of the specified clipping plane
Parameters:
  • plane (Enumerated constant) - Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANEi where 0 < i < GL_MAX_CLIP_PLANES.
  • equation (Buffer object type GL_FLOAT) - Returns four float (double)-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).

glGetError()

source code 
Return error information

glGetLight(light, pname, params)

source code 

glGetLightfv and glGetLightiv

Return light source parameter values
Parameters:
  • light (Enumerated constant) - Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
  • pname (Enumerated constant) - Specifies a light source parameter for light.
  • params (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetMap(target, query, v)

source code 

glGetMapdv, glGetMapfv, glGetMapiv

Return evaluator parameters
Parameters:
  • target (Enumerated constant) - Specifies the symbolic name of a map.
  • query (Enumerated constant) - Specifies which parameter to return.
  • v (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetMaterial(face, pname, params)

source code 

glGetMaterialfv, glGetMaterialiv

Return material parameters
Parameters:
  • face (Enumerated constant) - Specifies which of the two materials is being queried. representing the front and back materials, respectively.
  • pname (Enumerated constant) - Specifies the material parameter to return.
  • params (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetPixelMap(map, values)

source code 

glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv

Return the specified pixel map
Parameters:
  • map (Enumerated constant) - Specifies the name of the pixel map to return.
  • values (Buffer object. Depends on function prototype.) - Returns the pixel map contents.

glGetPolygonStipple(mask)

source code 
Return the polygon stipple pattern
Parameters:
  • mask (Buffer object type GL_BYTE) - Returns the stipple pattern. The initial value is all 1's.

glGetString(name)

source code 
Return a string describing the current GL connection
Parameters:
  • name (Enumerated constant) - Specifies a symbolic constant.

glGetTexEnv(target, pname, params)

source code 

glGetTexEnvfv, glGetTexEnviv

Return texture environment parameters
Parameters:
  • target (Enumerated constant) - Specifies a texture environment. Must be GL_TEXTURE_ENV.
  • pname (Enumerated constant) - Specifies the symbolic name of a texture environment parameter.
  • params (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetTexGen(coord, pname, params)

source code 

glGetTexGendv, glGetTexGenfv, glGetTexGeniv

Return texture coordinate generation parameters
Parameters:
  • coord (Enumerated constant) - Specifies a texture coordinate.
  • pname (Enumerated constant) - Specifies the symbolic name of the value(s) to be returned.
  • params (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetTexImage(target, level, format, type, pixels)

source code 
Return a texture image
Parameters:
  • target (Enumerated constant) - Specifies which texture is to be obtained.
  • level (int) - Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the nth mipmap reduction image.
  • format (Enumerated constant) - Specifies a pixel format for the returned data.
  • type (Enumerated constant) - Specifies a pixel type for the returned data.
  • pixels (Buffer object.) - Returns the texture image. Should be a pointer to an array of the type specified by type

glGetTexLevelParameter(target, level, pname, params)

source code 

glGetTexLevelParameterfv, glGetTexLevelParameteriv

return texture parameter values for a specific level of detail
Parameters:
  • target (Enumerated constant) - Specifies the symbolic name of the target texture.
  • level (int) - Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the nth mipmap reduction image.
  • pname (Enumerated constant) - Specifies the symbolic name of a texture parameter.
  • params (Buffer object. Depends on function prototype.) - Returns the requested data.

glGetTexParameter(target, pname, params)

source code 

glGetTexParameterfv, glGetTexParameteriv

Return texture parameter values
Parameters:
  • target (Enumerated constant) - Specifies the symbolic name of the target texture.
  • pname (Enumerated constant) - Specifies the symbolic name the target texture.
  • params (Buffer object. Depends on function prototype.) - Returns the texture parameters.

glHint(target, mode)

source code 
Specify implementation-specific hints
Parameters:
  • target (Enumerated constant) - Specifies a symbolic constant indicating the behavior to be controlled.
  • mode (Enumerated constant) - Specifies a symbolic constant indicating the desired behavior.

glIndex(c)

source code 

glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv, glIndexfv, glIndexiv, glIndexsv

Set the current color index
Parameters:
  • c (Buffer object. Depends on function prototype.) - Specifies a pointer to a one element array that contains the new value for the current color index.

glInitNames()

source code 
Initialize the name stack

glIsEnabled(cap)

source code 
Test whether a capability is enabled
Parameters:
  • cap (Enumerated constant) - Specifies a constant representing a GL capability.

glIsList(list)

source code 
Determine if a name corresponds to a display-list
Parameters:
  • list (unsigned int) - Specifies a potential display-list name.

glIsTexture(texture)

source code 
Determine if a name corresponds to a texture
Parameters:
  • texture (unsigned int) - Specifies a value that may be the name of a texture.

glLight(light, pname, param)

source code 

glLightf,glLighti, glLightfv, glLightiv

Set the light source parameters
Parameters:
  • light (Enumerated constant) - Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
  • pname (Enumerated constant) - Specifies a single-valued light source parameter for light.
  • param (Depends on function prototype.) - Specifies the value that parameter pname of light source light will be set to. If function prototype ends in 'v' specifies a pointer to the value or values that parameter pname of light source light will be set to.

glLightModel(pname, param)

source code 

glLightModelf, glLightModeli, glLightModelfv, glLightModeliv

Set the lighting model parameters
Parameters:
  • pname (Enumerated constant) - Specifies a single-value light model parameter.
  • param (Depends on function prototype.) - Specifies the value that param will be set to. If function prototype ends in 'v' specifies a pointer to the value or values that param will be set to.

glLineStipple(factor, pattern)

source code 
Specify the line stipple pattern
Parameters:
  • factor (int) - Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1.
  • pattern (unsigned short int) - Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's.

glLineWidth(width)

source code 
Specify the width of rasterized lines.
Parameters:
  • width (float) - Specifies the width of rasterized lines. The initial value is 1.

glListBase(base)

source code 
Set the display-list base for glCallLists
Parameters:
  • base (unsigned int) - Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0.

glLoadIdentity()

source code 
Replace the current matrix with the identity matrix

glLoadMatrix(m)

source code 

glLoadMatrixd, glLoadMatixf

Replace the current matrix with the specified matrix
Parameters:
  • m (Buffer object. Depends on function prototype.) - Specifies a pointer to 16 consecutive values, which are used as the elements of a 4x4 column-major matrix.

glLoadName(name)

source code 
Load a name onto the name stack.
Parameters:
  • name (unsigned int) - Specifies a name that will replace the top value on the name stack.

glLogicOp(opcode)

source code 
Specify a logical pixel operation for color index rendering
Parameters:
  • opcode (Enumerated constant) - Specifies a symbolic constant that selects a logical operation.

glMap1(target, u1, u2, stride, order, points)

source code 

glMap1d, glMap1f

Define a one-dimensional evaluator
Parameters:
  • target (Enumerated constant) - Specifies the kind of values that are generated by the evaluator.
  • u1, u2 - Specify a linear mapping of u, as presented to glEvalCoord1, to ^, t he variable that is evaluated by the equations specified by this command.
  • stride (int) - Specifies the number of floats or float (double)s between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
  • order (int) - Specifies the number of control points. Must be positive.
  • points (Buffer object. Depends on function prototype.) - Specifies a pointer to the array of control points.

glMap2(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points)

source code 

glMap2d, glMap2f

Define a two-dimensional evaluator
Parameters:
  • target (Enumerated constant) - Specifies the kind of values that are generated by the evaluator.
  • u1, u2 - Specify a linear mapping of u, as presented to glEvalCoord2, to ^, t he variable that is evaluated by the equations specified by this command. Initially u1 is 0 and u2 is 1.
  • ustride (int) - Specifies the number of floats or float (double)s between the beginning of control point R and the beginning of control point R ij, where i and j are the u and v control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
  • uorder (int) - Specifies the dimension of the control point array in the u axis. Must be positive. The initial value is 1.
  • v1, v2 - Specify a linear mapping of v, as presented to glEvalCoord2, to ^, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
  • vstride (int) - Specifies the number of floats or float (double)s between the beginning of control point R and the beginning of control point R ij, where i and j are the u and v control point(indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
  • vorder (int) - Specifies the dimension of the control point array in the v axis. Must be positive. The initial value is 1.
  • points (Buffer object. Depends on function prototype.) - Specifies a pointer to the array of control points.

glMapGrid(un, u1, u2, vn, v1, v2)

source code 

glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f

Define a one- or two-dimensional mesh
Parameters:
  • un (int) - Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.
  • u1, u2 - Specify the mappings for integer grid domain values i=0 and i=un.
  • vn (int) - Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).
  • v1, v2 - Specify the mappings for integer grid domain values j=0 and j=vn (glMapGrid2 only).

glMaterial(face, pname, params)

source code 
Specify material parameters for the lighting model.
Parameters:
  • face (Enumerated constant) - Specifies which face or faces are being updated. Must be one of:
  • pname (Enumerated constant) - Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
  • params (int) - Specifies the value that parameter GL_SHININESS will be set to. If function prototype ends in 'v' specifies a pointer to the value or values that pname will be set to.

glMatrixMode(mode)

source code 
Specify which matrix is the current matrix.
Parameters:
  • mode (Enumerated constant) - Specifies which matrix stack is the target for subsequent matrix operations.

glMultMatrix(m)

source code 

glMultMatrixd, glMultMatrixf

Multiply the current matrix with the specified matrix
Parameters:
  • m (Buffer object. Depends on function prototype.) - Points to 16 consecutive values that are used as the elements of a 4x4 column major matrix.

glNewList(list, mode)

source code 
Create or replace a display list
Parameters:
  • list (unsigned int) - Specifies the display list name
  • mode (Enumerated constant) - Specifies the compilation mode.

glNormal3(nx, ny, nz, v)

source code 

Normal3b, Normal3bv, Normal3d, Normal3dv, Normal3f, Normal3fv, Normal3i, Normal3iv, Normal3s, Normal3sv

Set the current normal vector
Parameters:
  • nx, ny, nz - Specify the x, y, and z coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
  • v (Buffer object. Depends on function prototype. ('v' prototypes)) - Specifies a pointer to an array of three elements: the x,y, and z coordinates of the new current normal.

glOrtho(left, right, bottom, top, zNear, zFar)

source code 
Multiply the current matrix with an orthographic matrix
Parameters:
  • left, right - Specify the coordinates for the left and right vertical clipping planes.
  • bottom, top - Specify the coordinates for the bottom and top horizontal clipping planes.
  • zNear, zFar - Specify the distances to the nearer and farther depth clipping planes. These values are negative if the plane is to be behind the viewer.

glPassThrough(token)

source code 
Place a marker in the feedback buffer
Parameters:
  • token (float) - Specifies a marker value to be placed in the feedback buffer following a GL_PASS_THROUGH_TOKEN.

glPixelMap(map, mapsize, values)

source code 

glPixelMapfv, glPixelMapuiv, glPixelMapusv

Set up pixel transfer maps
Parameters:
  • map (Enumerated constant) - Specifies a symbolic map name.
  • mapsize (int) - Specifies the size of the map being defined.
  • values (Buffer object. Depends on function prototype.) - Specifies an array of mapsize values.

glPixelStore(pname, param)

source code 

glPixelStoref, glPixelStorei

Set pixel storage modes
Parameters:
  • pname (Enumerated constant) - Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory. Six more affect the unpacking of pixel data from memory.
  • param (Depends on function prototype.) - Specifies the value that pname is set to.

glPixelTransfer(pname, param)

source code 

glPixelTransferf, glPixelTransferi

Set pixel transfer modes
Parameters:
  • pname (Enumerated constant) - Specifies the symbolic name of the pixel transfer parameter to be set.
  • param (Depends on function prototype.) - Specifies the value that pname is set to.

glPixelZoom(xfactor, yfactor)

source code 
Specify the pixel zoom factors
Parameters:
  • xfactor, yfactor - Specify the x and y zoom factors for pixel write operations.

glPointSize(size)

source code 
Specify the diameter of rasterized points
Parameters:
  • size (float) - Specifies the diameter of rasterized points. The initial value is 1.

glPolygonMode(face, mode)

source code 
Select a polygon rasterization mode
Parameters:
  • face (Enumerated constant) - Specifies the polygons that mode applies to. Must be GL_FRONT for front-facing polygons, GL_BACK for back- facing polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons.
  • mode (Enumerated constant) - Specifies how polygons will be rasterized. The initial value is GL_FILL for both front- and back- facing polygons.

glPolygonOffset(factor, units)

source code 
Set the scale and units used to calculate depth values
Parameters:
  • factor (float) - Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
  • units (float) - Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.

glPolygonStipple(mask)

source code 
Set the polygon stippling pattern
Parameters:
  • mask (Buffer object type GL_BYTE) - Specifies a pointer to a 32x32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels.

glPopAttrib()

source code 
Pop the server attribute stack

glPopClientAttrib()

source code 
Pop the client attribute stack

glPopMatrix()

source code 
Pop the current matrix stack

glPopName()

source code 
Pop the name stack

glPrioritizeTextures(n, textures, priorities)

source code 
Set texture residence priority
Parameters:
  • n (int) - Specifies the number of textures to be prioritized.
  • textures (Buffer type GL_INT) - Specifies an array containing the names of the textures to be prioritized.
  • priorities (Buffer type GL_FLOAT) - Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.

glPushAttrib(mask)

source code 
Push the server attribute stack
Parameters:
  • mask (Enumerated constant(s)) - Specifies a mask that indicates which attributes to save.

glPushClientAttrib(mask)

source code 
Push the client attribute stack
Parameters:
  • mask (Enumerated constant(s)) - Specifies a mask that indicates which attributes to save.

glPushMatrix()

source code 
Push the current matrix stack

glPushName(name)

source code 
Push the name stack
Parameters:
  • name (unsigned int) - Specifies a name that will be pushed onto the name stack.

glRasterPos(x, y, z, w)

source code 

glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d, glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f, glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv, glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv, glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv

Specify the raster position for pixel operations
Parameters:
  • x, y, z, w - Specify the x,y,z, and w object coordinates (if present) for the raster position. If function prototype ends in 'v' specifies a pointer to an array of two, three, or four elements, specifying x, y, z, and w coordinates, respectively.

See Also: www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rasterpos.html

Note:

If you are drawing to the 3d view with a Scriptlink of a space handler the zoom level of the panels will scale the glRasterPos by the view matrix. so a X of 10 will not always offset 10 pixels as you would expect.

To work around this get the scale value of the view matrix and use it to scale your pixel values.

Workaround:
 import Blender
 from Blender.BGL import *
 xval, yval= 100, 40
 # Get the scale of the view matrix
 viewMatrix = Buffer(GL_FLOAT, 16)
 glGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix)
 f = 1/viewMatrix[0]
 glRasterPos2f(xval*f, yval*f) # Instead of the usual glRasterPos2i(xval, yval)

glReadBuffer(mode)

source code 
Select a color buffer source for pixels.
Parameters:
  • mode (Enumerated constant) - Specifies a color buffer.

glReadPixels(x, y, width, height, format, type, pixels)

source code 
Read a block of pixels from the frame buffer
Parameters:
  • x, y - Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels.
  • width, height - Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
  • format (Enumerated constant) - Specifies the format of the pixel data.
  • type (Enumerated constant) - Specifies the data type of the pixel data.
  • pixels (Buffer object) - Returns the pixel data.

glRect(x1, y1, x2, y2, v1, v2)

source code 

glRectd, glRectf, glRecti, glRects, glRectdv, glRectfv, glRectiv, glRectsv

Draw a rectangle
Parameters:
  • x1, y1 - Specify one vertex of a rectangle
  • x2, y2 - Specify the opposite vertex of the rectangle
  • v1, v2 - Specifies a pointer to one vertex of a rectangle and the pointer to the opposite vertex of the rectangle

glRenderMode(mode)

source code 
Set rasterization mode
Parameters:
  • mode (Enumerated constant) - Specifies the rasterization mode.

glRotate(angle, x, y, z)

source code 

glRotated, glRotatef

Multiply the current matrix by a rotation matrix
Parameters:
  • angle (Depends on function prototype.) - Specifies the angle of rotation in degrees.
  • x, y, z - Specify the x,y, and z coordinates of a vector respectively.

glScale(x, y, z)

source code 

glScaled, glScalef

Multiply the current matrix by a general scaling matrix
Parameters:
  • x, y, z - Specify scale factors along the x,y, and z axes, respectively.

glScissor(x, y, width, height)

source code 
Define the scissor box
Parameters:
  • x, y - Specify the lower left corner of the scissor box. Initially (0, 0).
  • width, height - Specify the width and height of the scissor box. When a GL context is first attached to a window, width and height are set to the dimensions of that window.

glSelectBuffer(size, buffer)

source code 
Establish a buffer for selection mode values
Parameters:
  • size (int) - Specifies the size of buffer
  • buffer (Buffer type GL_INT) - Returns the selection data

glShadeModel(mode)

source code 
Select flat or smooth shading
Parameters:
  • mode (Enumerated constant) - Specifies a symbolic value representing a shading technique.

glStencilFuc(func, ref, mask)

source code 
Set function and reference value for stencil testing
Parameters:
  • func (Enumerated constant) - Specifies the test function.
  • ref (int) - Specifies the reference value for the stencil test. ref is clamped to the range [0,2n-1], where n is the number of bitplanes in the stencil buffer. The initial value is 0.
  • mask (unsigned int) - Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.

glStencilMask(mask)

source code 
Control the writing of individual bits in the stencil planes
Parameters:
  • mask (unsigned int) - Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.

glStencilOp(fail, zfail, zpass)

source code 
Set stencil test actions
Parameters:
  • fail (Enumerated constant) - Specifies the action to take when the stencil test fails. The initial value is GL_KEEP.
  • zfail (Enumerated constant) - Specifies the stencil action when the stencil test passes, but the depth test fails. zfail accepts the same symbolic constants as fail. The initial value is GL_KEEP.
  • zpass (Enumerated constant) - Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. zpass accepts the same symbolic constants as fail. The initial value is GL_KEEP.

glTexCoord(s, t, r, q, v)

source code 

glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f, glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s, glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv, glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv, glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv, glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv

Set the current texture coordinates
Parameters:
  • s, t, r, q - Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
  • v (Buffer object. Depends on function prototype. (for 'v' prototypes only)) - Specifies a pointer to an array of one, two, three, or four elements, which in turn specify the s, t, r, and q texture coordinates.

glTexEnv(target, pname, param)

source code 

glTextEnvf, glTextEnvi, glTextEnvfv, glTextEnviv

Set texture environment parameters
Parameters:
  • target (Enumerated constant) - Specifies a texture environment. Must be GL_TEXTURE_ENV.
  • pname (Enumerated constant) - Specifies the symbolic name of a single-valued texture environment parameter. Must be GL_TEXTURE_ENV_MODE.
  • param (Depends on function prototype.) - Specifies a single symbolic constant. If function prototype ends in 'v' specifies a pointer to a parameter array that contains either a single symbolic constant or an RGBA color

glTexGen(coord, pname, param)

source code 

glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv

Control the generation of texture coordinates
Parameters:
  • coord (Enumerated constant) - Specifies a texture coordinate.
  • pname (Enumerated constant) - Specifies the symbolic name of the texture- coordinate generation function.
  • param (Depends on function prototype.) - Specifies a single-valued texture generation parameter. If function prototype ends in 'v' specifies a pointer to an array of texture generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must contain a single symbolic constant. Otherwise, params holds the coefficients for the texture-coordinate generation function specified by pname.

glTexImage1D(target, level, internalformat, width, border, format, type, pixels)

source code 
Specify a one-dimensional texture image
Parameters:
  • target (Enumerated constant) - Specifies the target texture.
  • level (int) - Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
  • internalformat (int) - Specifies the number of color components in the texture.
  • width (int) - Specifies the width of the texture image. Must be 2n+2(border) for some integer n. All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
  • border (int) - Specifies the width of the border. Must be either 0 or 1.
  • format (Enumerated constant) - Specifies the format of the pixel data.
  • type (Enumerated constant) - Specifies the data type of the pixel data.
  • pixels (Buffer object.) - Specifies a pointer to the image data in memory.

glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels)

source code 
Specify a two-dimensional texture image
Parameters:
  • target (Enumerated constant) - Specifies the target texture.
  • level (int) - Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
  • internalformat (int) - Specifies the number of color components in the texture.
  • width (int) - Specifies the width of the texture image. Must be 2n+2(border) for some integer n. All implementations support texture images that are at least 64 texels wide.
  • height (int) - Specifies the height of the texture image. Must be 2m+2(border) for some integer m. All implementations support texture images that are at least 64 texels high.
  • border (int) - Specifies the width of the border. Must be either 0 or 1.
  • format (Enumerated constant) - Specifies the format of the pixel data.
  • type (Enumerated constant) - Specifies the data type of the pixel data.
  • pixels (Buffer object.) - Specifies a pointer to the image data in memory.

glTexParameter(target, pname, param)

source code 

glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv

Set texture parameters
Parameters:
  • target (Enumerated constant) - Specifies the target texture.
  • pname (Enumerated constant) - Specifies the symbolic name of a single-valued texture parameter.
  • param (Depends on function prototype.) - Specifies the value of pname. If function prototype ends in 'v' specifies a pointer to an array where the value or values of pname are stored.

glTranslate(x, y, z)

source code 

glTranslatef, glTranslated

Multiply the current matrix by a translation matrix
Parameters:
  • x, y, z - Specify the x, y, and z coordinates of a translation vector.

glVertex(x, y, z, w, v)

source code 

glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i, glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv, glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv, glVertex4iv, glVertex4sv

Specify a vertex
Parameters:
  • x, y, z, w - Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
  • v (Buffer object. Depends of function prototype (for 'v' prototypes only)) - Specifies a pointer to an array of two, three, or four elements. The elements of a two-element array are x and y; of a three-element array, x, y, and z; and of a four-element array, x, y, z, and w.

glViewport(x, y, width, height)

source code 
Set the viewport
Parameters:
  • x, y - Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0).
  • width, height - Specify the width and height of the viewport. When a GL context is first attached to a window, width and height are set to the dimensions of that window.

gluPerspective(fovY, aspect, zNear, zFar)

source code 
Set up a perspective projection matrix.
Parameters:
  • fovY (double) - Specifies the field of view angle, in degrees, in the y direction.
  • aspect (double) - Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
  • zNear (double) - Specifies the distance from the viewer to the near clipping plane (always positive).
  • zFar (double) - Specifies the distance from the viewer to the far clipping plane (always positive).

gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz)

source code 
Define a viewing transformation
Parameters:
  • eyex, eyey, eyez - Specifies the position of the eye point.
  • centerx, centery, centerz - Specifies the position of the reference point.
  • upx, upy, upz - Specifies the direction of the up vector.

gluOrtho2D(left, right, bottom, top)

source code 
Define a 2-D orthographic projection matrix
Parameters:
  • left, right - Specify the coordinates for the left and right vertical clipping planes.
  • bottom, top - Specify the coordinates for the bottom and top horizontal clipping planes.

gluPickMatrix(x, y, width, height, viewport)

source code 
Define a picking region
Parameters:
  • x, y - Specify the center of a picking region in window coordinates.
  • width, height - Specify the width and height, respectively, of the picking region in window coordinates.
  • viewport (Buffer object. [int]) - Specifies the current viewport.

gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz)

source code 
Map object coordinates to window coordinates.
Parameters:
  • objx, objy, objz - Specify the object coordinates.
  • modelMatrix (Buffer object. [double]) - Specifies the current modelview matrix (as from a glGetDoublev call).
  • projMatrix (Buffer object. [double]) - Specifies the current projection matrix (as from a glGetDoublev call).
  • viewport (Buffer object. [int]) - Specifies the current viewport (as from a glGetIntegerv call).
  • winx, winy, winz - Return the computed window coordinates.

gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz)

source code 
Map object coordinates to window coordinates.
Parameters:
  • winx, winy, winz - Specify the window coordinates to be mapped.
  • modelMatrix (Buffer object. [double]) - Specifies the current modelview matrix (as from a glGetDoublev call).
  • projMatrix (Buffer object. [double]) - Specifies the current projection matrix (as from a glGetDoublev call).
  • viewport (Buffer object. [int]) - Specifies the current viewport (as from a glGetIntegerv call).
  • objx, objy, objz - Return the computed object coordinates.