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.

glXCopyContext
OO interface to the glXCopyContext function

glXCreateContext
OO interface to the glXCreateContext function

glXCreateGLXPixmap
OO interface to the glXCreateGLXPixmap function

glXDestroyContext
OO interface to the glXDestroyContext function

glXDestroyGLXPixmap
OO interface to the glXDestroyGLXPixmap function

glXGetConfig
OO interface to the glXGetConfig function

glXIsDirect
OO interface to the glXIsDirect function

glXMakeCurrent
OO interface to the glXMakeCurrent function

glXQueryExtension
OO interface to the glXQueryExtension function

glXQueryVersion
OO interface to the glXQueryVersion function

glXSwapBuffers
OO interface to the glXSwapBuffers 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

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 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 glEnableTraceMESA glDisableTraceMESA glNewTraceMESA glEndTraceMESA glTraceAssertAttribMESA glTraceCommentMESA glTraceTextureMESA glTraceListMESA glTracePointerMESA glTracePointerRangeMESA glProgramCallbackMESA glGetProgramRegisterfvMESA glBlendEquationSeparateATI glXCopyContext glXCreateContext glXCreateGLXPixmap glXDestroyContext glXDestroyGLXPixmap glXGetConfig glXGetCurrentContext glXGetCurrentDrawable glXIsDirect glXMakeCurrent glXQueryExtension glXQueryVersion glXSwapBuffers glXUseXFont glXWaitGL glXWaitX glXGetFBConfigAttrib glXCreateWindow glXDestroyWindow glXCreatePixmap glXDestroyPixmap glXCreatePbuffer glXDestroyPbuffer glXQueryDrawable glXCreateNewContext glXMakeContextCurrent glXGetCurrentReadDrawable glXQueryContext glXSelectEvent glXGetSelectedEvent glXFreeMemoryNV glXGetAGPOffsetMESA glXFreeMemoryMESA glXGetMemoryOffsetMESA glXBindTexImageARB glXReleaseTexImageARB glXDrawableAttribARB 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