---
name: "PDL::Graphics::OpenGL"
section: "3pm"
platform: "linux"
package: "pdl"
version: "1:2.4.3-3"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/PDL::Graphics::OpenGL"
---

# PDL::Graphics::OpenGL(3pm)

PDL::Graphics::OpenGL -- a PDL interface to the OpenGL graphics library. PDL::Graphics::OpenGLOO - an Object Oriented interface to the interface. This package implements an interface to various OpenGL or OpenGL emulator libraries.  Most of the interface is generated at PDL compile time by the script opengl.pd which runs the c preprocessor on various OpenGL include files to determine the correct C prototypes for each configuration.  The object oriented interface defines an Object which contains the Display, Window and Context properties of the defined OpenGL device.  Any OpenGL function called from the OO interface will recieve these fields from the object, they should not be passed explicitly. This package is primarily intended for internal use by the PDL::Graphics::TriD package, but should also be usable in its own right.\
 **new($class,$options)** Returns a new OpenGL object with attributes specified in the options field.  These attributes are:

```
  x,y - the position of the upper left corner of the window (0,0)
  width,height - the width and height of the window in pixels (500,500)
  parent - the parent under which the new window should be opened (root)
  mask - the user interface mask (StructureNotifyMask)
  attributes - attributes to pass to glXChooseVisual
```

**default\_options** default options for object oriented methods\
 *XPending()* OO interface to XPending\
 **XResizeWindow(x,y)** OO interface to XResizeWindow\
 *glpXNextEvent()* OO interface to glpXNextEvent\
 *glpRasterFont()* OO interface to the glpRasterFont function\
 **AUTOLOAD** If the function is not prototyped in OO we assume there is no explicit mention of the three identifying parameters (Display, Window, Context) and try to load the OpenGL function.\
 **glXCreateContext** OO interface to the glXCreateContext function\
 **glXDestroyContext** OO interface to the glXDestroyContext function\
 **glXMakeCurrent** OO interface to the glXMakeCurrent function\
 **glXCopyContext** OO interface to the glXCopyContext function\
 **glXSwapBuffers** OO interface to the glXSwapBuffers function\
 **glXCreateGLXPixmap** OO interface to the glXCreateGLXPixmap function\
 **glXDestroyGLXPixmap** OO interface to the glXDestroyGLXPixmap function\
 **glXQueryExtension** OO interface to the glXQueryExtension function\
 **glXQueryVersion** OO interface to the glXQueryVersion function\
 **glXIsDirect** OO interface to the glXIsDirect function\
 **glXGetConfig** OO interface to the glXGetConfig function\
 **glXGetFBConfigAttrib** OO interface to the glXGetFBConfigAttrib function\
 **glXCreateWindow** OO interface to the glXCreateWindow function\
 **glXDestroyWindow** OO interface to the glXDestroyWindow function\
 **glXCreatePixmap** OO interface to the glXCreatePixmap function\
 **glXDestroyPixmap** OO interface to the glXDestroyPixmap function\
 **glXCreatePbuffer** OO interface to the glXCreatePbuffer function\
 **glXDestroyPbuffer** OO interface to the glXDestroyPbuffer function\
 **glXQueryDrawable** OO interface to the glXQueryDrawable function\
 **glXCreateNewContext** OO interface to the glXCreateNewContext function\
 **glXMakeContextCurrent** OO interface to the glXMakeContextCurrent function\
 **glXQueryContext** OO interface to the glXQueryContext function\
 **glXSelectEvent** OO interface to the glXSelectEvent function\
 **glXGetSelectedEvent** OO interface to the glXGetSelectedEvent function\
 **glXFreeMemoryMESA** OO interface to the glXFreeMemoryMESA function\
 **glXGetMemoryOffsetMESA** OO interface to the glXGetMemoryOffsetMESA function\
 **glXBindTexImageARB** OO interface to the glXBindTexImageARB function\
 **glXReleaseTexImageARB** OO interface to the glXReleaseTexImageARB function\
 **glXDrawableAttribARB** OO interface to the glXDrawableAttribARB function\
 **glXGetFrameUsageMESA** OO interface to the glXGetFrameUsageMESA function\
 **glXBeginFrameTrackingMESA** OO interface to the glXBeginFrameTrackingMESA function\
 **glXEndFrameTrackingMESA** OO interface to the glXEndFrameTrackingMESA function\
 **glXQueryFrameTrackingMESA** OO interface to the glXQueryFrameTrackingMESA function\
 **glXBindTexImageEXT** OO interface to the glXBindTexImageEXT function\
 **glXReleaseTexImageEXT** OO interface to the glXReleaseTexImageEXT function\
 **OpenGL Interface Functions** The following is a list of OpenGL functions for which an interface was created.  Please refer to the OpenGL documentation for descriptions. glClearIndex glClearColor glClear glIndexMask glColorMask glAlphaFunc glBlendFunc glLogicOp glCullFace glFrontFace glPointSize glLineWidth glLineStipple glPolygonMode glPolygonOffset glPolygonStipple glGetPolygonStipple glEdgeFlag glEdgeFlagv glScissor glClipPlane glGetClipPlane glDrawBuffer glReadBuffer glEnable glDisable glIsEnabled glEnableClientState glDisableClientState glGetBooleanv glGetDoublev glGetFloatv glGetIntegerv glPushAttrib glPopAttrib glPushClientAttrib glPopClientAttrib glRenderMode glGetError glFinish glFlush glHint glClearDepth glDepthFunc glDepthMask glDepthRange glClearAccum glAccum glMatrixMode glOrtho glFrustum glViewport glPushMatrix glPopMatrix glLoadIdentity glLoadMatrixd glLoadMatrixf glMultMatrixd glMultMatrixf glRotated glRotatef glScaled glScalef glTranslated glTranslatef glIsList glDeleteLists glGenLists glNewList glEndList glCallList glCallLists glListBase glBegin glEnd glVertex2d glVertex2f glVertex2i glVertex2s glVertex3d glVertex3f glVertex3i glVertex3s glVertex4d glVertex4f glVertex4i glVertex4s glVertex2dv glVertex2fv glVertex2iv glVertex2sv glVertex3dv glVertex3fv glVertex3iv glVertex3sv glVertex4dv glVertex4fv glVertex4iv glVertex4sv glNormal3b glNormal3d glNormal3f glNormal3i glNormal3s glNormal3bv glNormal3dv glNormal3fv glNormal3iv glNormal3sv glIndexd glIndexf glIndexi glIndexs glIndexub glIndexdv glIndexfv glIndexiv glIndexsv glIndexubv 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 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 glRasterPos2d glRasterPos2f glRasterPos2i glRasterPos2s glRasterPos3d glRasterPos3f glRasterPos3i glRasterPos3s glRasterPos4d glRasterPos4f glRasterPos4i glRasterPos4s glRasterPos2dv glRasterPos2fv glRasterPos2iv glRasterPos2sv glRasterPos3dv glRasterPos3fv glRasterPos3iv glRasterPos3sv glRasterPos4dv glRasterPos4fv glRasterPos4iv glRasterPos4sv glRectd glRectf glRecti glRects glRectdv glRectfv glRectiv glRectsv glVertexPointer glNormalPointer glColorPointer glIndexPointer glTexCoordPointer glEdgeFlagPointer glGetPointerv glArrayElement glDrawArrays glDrawElements glInterleavedArrays glShadeModel glLightf glLighti glLightfv glLightiv glGetLightfv glGetLightiv glLightModelf glLightModeli glLightModelfv glLightModeliv glMaterialf glMateriali glMaterialfv glMaterialiv glGetMaterialfv glGetMaterialiv glColorMaterial glPixelZoom glPixelStoref glPixelStorei glPixelTransferf glPixelTransferi glPixelMapfv glPixelMapuiv glPixelMapusv glGetPixelMapfv glGetPixelMapuiv glGetPixelMapusv glBitmap glReadPixels glDrawPixels glCopyPixels glStencilFunc glStencilMask glStencilOp glClearStencil glTexGend glTexGenf glTexGeni glTexGendv glTexGenfv glTexGeniv glGetTexGendv glGetTexGenfv glGetTexGeniv glTexEnvf glTexEnvi glTexEnvfv glTexEnviv glGetTexEnvfv glGetTexEnviv glTexParameterf glTexParameteri glTexParameterfv glTexParameteriv glGetTexParameterfv glGetTexParameteriv glGetTexLevelParameterfv glGetTexLevelParameteriv glTexImage1D glTexImage2D glGetTexImage glGenTextures glDeleteTextures glBindTexture glPrioritizeTextures glAreTexturesResident glIsTexture glTexSubImage1D glTexSubImage2D glCopyTexImage1D glCopyTexImage2D glCopyTexSubImage1D glCopyTexSubImage2D glMap1d glMap1f glMap2d glMap2f glGetMapdv glGetMapfv glGetMapiv glEvalCoord1d glEvalCoord1f glEvalCoord1dv glEvalCoord1fv glEvalCoord2d glEvalCoord2f glEvalCoord2dv glEvalCoord2fv glMapGrid1d glMapGrid1f glMapGrid2d glMapGrid2f glEvalPoint1 glEvalPoint2 glEvalMesh1 glEvalMesh2 glFogf glFogi glFogfv glFogiv glFeedbackBuffer glPassThrough glSelectBuffer glInitNames glLoadName glPushName glPopName glDrawRangeElements glTexImage3D glTexSubImage3D glCopyTexSubImage3D glColorTable glColorSubTable glColorTableParameteriv glColorTableParameterfv glCopyColorSubTable glCopyColorTable glGetColorTable glGetColorTableParameterfv glGetColorTableParameteriv glBlendEquation glBlendColor glHistogram glResetHistogram glGetHistogram glGetHistogramParameterfv glGetHistogramParameteriv glMinmax glResetMinmax glGetMinmax glGetMinmaxParameterfv glGetMinmaxParameteriv glConvolutionFilter1D glConvolutionFilter2D glConvolutionParameterf glConvolutionParameterfv glConvolutionParameteri glConvolutionParameteriv glCopyConvolutionFilter1D glCopyConvolutionFilter2D glGetConvolutionFilter glGetConvolutionParameterfv glGetConvolutionParameteriv glSeparableFilter2D glGetSeparableFilter glActiveTexture glClientActiveTexture glCompressedTexImage1D glCompressedTexImage2D glCompressedTexImage3D glCompressedTexSubImage1D glCompressedTexSubImage2D glCompressedTexSubImage3D glGetCompressedTexImage glMultiTexCoord1d glMultiTexCoord1dv glMultiTexCoord1f glMultiTexCoord1fv glMultiTexCoord1i glMultiTexCoord1iv glMultiTexCoord1s glMultiTexCoord1sv glMultiTexCoord2d glMultiTexCoord2dv glMultiTexCoord2f glMultiTexCoord2fv glMultiTexCoord2i glMultiTexCoord2iv glMultiTexCoord2s glMultiTexCoord2sv glMultiTexCoord3d glMultiTexCoord3dv glMultiTexCoord3f glMultiTexCoord3fv glMultiTexCoord3i glMultiTexCoord3iv glMultiTexCoord3s glMultiTexCoord3sv glMultiTexCoord4d glMultiTexCoord4dv glMultiTexCoord4f glMultiTexCoord4fv glMultiTexCoord4i glMultiTexCoord4iv glMultiTexCoord4s glMultiTexCoord4sv glLoadTransposeMatrixd glLoadTransposeMatrixf glMultTransposeMatrixd glMultTransposeMatrixf glSampleCoverage glActiveTextureARB glClientActiveTextureARB glMultiTexCoord1dARB glMultiTexCoord1dvARB glMultiTexCoord1fARB glMultiTexCoord1fvARB glMultiTexCoord1iARB glMultiTexCoord1ivARB glMultiTexCoord1sARB glMultiTexCoord1svARB glMultiTexCoord2dARB glMultiTexCoord2dvARB glMultiTexCoord2fARB glMultiTexCoord2fvARB glMultiTexCoord2iARB glMultiTexCoord2ivARB glMultiTexCoord2sARB glMultiTexCoord2svARB glMultiTexCoord3dARB glMultiTexCoord3dvARB glMultiTexCoord3fARB glMultiTexCoord3fvARB glMultiTexCoord3iARB glMultiTexCoord3ivARB glMultiTexCoord3sARB glMultiTexCoord3svARB glMultiTexCoord4dARB glMultiTexCoord4dvARB glMultiTexCoord4fARB glMultiTexCoord4fvARB glMultiTexCoord4iARB glMultiTexCoord4ivARB glMultiTexCoord4sARB glMultiTexCoord4svARB glCreateDebugObjectMESA glClearDebugLogMESA glGetDebugLogMESA glGetDebugLogLengthMESA glEnableTraceMESA glDisableTraceMESA glNewTraceMESA glEndTraceMESA glTraceAssertAttribMESA glTraceCommentMESA glTraceTextureMESA glTraceListMESA glTracePointerMESA glTracePointerRangeMESA glBlendEquationSeparateATI glXCreateContext glXDestroyContext glXMakeCurrent glXCopyContext glXSwapBuffers glXCreateGLXPixmap glXDestroyGLXPixmap glXQueryExtension glXQueryVersion glXIsDirect glXGetConfig glXGetCurrentContext glXGetCurrentDrawable glXWaitGL glXWaitX glXUseXFont glXGetFBConfigAttrib glXCreateWindow glXDestroyWindow glXCreatePixmap glXDestroyPixmap glXCreatePbuffer glXDestroyPbuffer glXQueryDrawable glXCreateNewContext glXMakeContextCurrent glXGetCurrentReadDrawable glXQueryContext glXSelectEvent glXGetSelectedEvent glXFreeMemoryNV glXFreeMemoryMESA glXGetMemoryOffsetMESA glXBindTexImageARB glXReleaseTexImageARB glXDrawableAttribARB glXGetFrameUsageMESA glXBeginFrameTrackingMESA glXEndFrameTrackingMESA glXQueryFrameTrackingMESA glXSwapIntervalMESA glXGetSwapIntervalMESA glXBindTexImageEXT glXReleaseTexImageEXT gluBeginCurve gluBeginPolygon gluBeginSurface gluBeginTrim gluBuild1DMipmapLevels gluBuild1DMipmaps gluBuild2DMipmapLevels gluBuild2DMipmaps gluBuild3DMipmapLevels gluBuild3DMipmaps gluCheckExtension gluCylinder gluDeleteNurbsRenderer gluDeleteQuadric gluDeleteTess gluDisk gluEndCurve gluEndPolygon gluEndSurface gluEndTrim gluGetNurbsProperty gluGetTessProperty gluLoadSamplingMatrices gluLookAt gluNextContour gluNurbsCallback gluNurbsCallbackData gluNurbsCallbackDataEXT gluNurbsCurve gluNurbsProperty gluNurbsSurface gluOrtho2D gluPartialDisk gluPerspective gluPickMatrix gluProject gluPwlCurve gluQuadricCallback gluQuadricDrawStyle gluQuadricNormals gluQuadricOrientation gluQuadricTexture gluScaleImage gluSphere gluTessBeginContour gluTessBeginPolygon gluTessCallback gluTessEndContour gluTessEndPolygon gluTessNormal gluTessProperty gluTessVertex gluUnProject gluUnProject4
