- NAME
- DESCRIPTION
- FUNCTIONS

- `new($class,$options)`
- default_options
- `XResizeWindow(x,y)`
- `glpXNextEvent()`
- `glpRasterFont()`
- AUTOLOAD
- glXCopyContext
- glXCreateContext
- glXCreateGLXPixmap
- glXDestroyContext
- glXDestroyGLXPixmap
- glXGetConfig
- glXIsDirect
- glXMakeCurrent
- glXQueryExtension
- glXQueryVersion
- glXSwapBuffers
- glXGetFBConfigAttrib
- glXCreateWindow
- glXDestroyWindow
- glXCreatePixmap
- glXDestroyPixmap
- glXCreatePbuffer
- glXDestroyPbuffer
- glXQueryDrawable
- glXCreateNewContext
- glXMakeContextCurrent
- glXQueryContext
- glXSelectEvent
- glXGetSelectedEvent
- glXGetContextIDEXT
- glXImportContextEXT
- glXFreeContextEXT
- glXQueryContextInfoEXT
- OpenGL Interface Functions

# NAME

PDL::Graphics::OpenGL -- a PDL interface to the OpenGL graphics library. PDL::Graphics::OpenGLOO - an Object Oriented interface to the interface.

# DESCRIPTION

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.

# FUNCTIONS

## `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

## `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

## glXGetContextIDEXT

OO interface to the glXGetContextIDEXT function

## glXImportContextEXT

OO interface to the glXImportContextEXT function

## glXFreeContextEXT

OO interface to the glXFreeContextEXT function

## glXQueryContextInfoEXT

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

- 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

- 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

- glXGetContextIDEXT

- glXGetCurrentDrawableEXT

- glXImportContextEXT

- glXFreeContextEXT

- glXQueryContextInfoEXT

- 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