OpenGL - Perl module to display 3D data using OpenGL, GLU, GLUT, and GLX


NAME

OpenGL - Perl module to display 3D data using OpenGL, GLU, GLUT, and GLX


SYNOPSIS

        use OpenGL; # exports most of the old functionality of OpenGL 0.4
        use OpenGL qw(:old); # Same thing
        use OpenGL qw(:glfunctions :glconstants); # exports functions and
                    # constants for using OpenGL, without exporting GLU, GLUT,
                    # or GLX stuff.
        use OpenGL qw(:all); # exports all new functionality, without the OpenGL
                             # 0.4 compatibility functions


DESCRIPTION

Naming convention:

Virtually all of the OpenGL 1.0, and 1.1 functions are available, and most of 1.2. In general, the calling sequence is identical in Perl as in C.

Most functions that have no pointer arguments are called identically in Perl as in C, and the same name is used.

Functions that use array arguments and have been changed in ``the obvious way'' -- to take a variable number of arguments and/or to return an array -- have the the same names as their C counterparts, but with a _p suffix.

All functions that take pointers are available with their original calling syntax and a _c suffix. These are most useful when combined with the OpenGL::Array module, which lets you allocate C arrays from Perl.

A third variant, _s, exists for most pointer functions, and takes a string argument for each pointer. The underlying OpenGL function will be passed a pointer to that string.

GLUT functions

  glutAddMenuEntry
  glutAddSubMenu
  glutAttachMenu
  glutBitmapCharacter
  glutBitmapWidth
  glutButtonBoxFunc
  glutChangeToMenuEntry
  glutChangeToSubMenu
  glutCopyColormap
  glutCreateMenu
  glutCreateSubWindow
  glutCreateWindow
  glutDestroyMenu
  glutDestroyWindow
  glutDetachMenu
  glutDeviceGet
  glutDialsFunc
  glutDisplayFunc
  glutEntryFunc
  glutEstablishOverlay
  glutExtensionSupported
  glutFullScreen
  glutGet
  glutGetColor
  glutGetMenu
  glutGetModifiers
  glutGetWindow
  glutHideOverlay
  glutHideWindow
  glutIconifyWindow
  glutIdleFunc
  glutInit
  glutInitDisplayMode
  glutInitWindowPosition
  glutInitWindowSize
  glutKeyboardFunc
  glutLayerGet
  glutMainLoop
  glutMenuStateFunc
  glutMenuStatusFunc
  glutMotionFunc
  glutMouseFunc
  glutOverlayDisplayFunc
  glutPassiveMotionFunc
  glutPopWindow
  glutPositionWindow
  glutPostOverlayRedisplay
  glutPostRedisplay
  glutPushWindow
  glutRemoveMenuItem
  glutRemoveOverlay
  glutReshapeFunc
  glutReshapeWindow
  glutSetColor
  glutSetCursor
  glutSetIconTitle
  glutSetMenu
  glutSetWindow
  glutSetWindowTitle
  glutShowOverlay
  glutShowWindow
  glutSolidCone
  glutSolidCube
  glutSolidDodecahedron
  glutSolidIcosahedron
  glutSolidOctahedron
  glutSolidSphere
  glutSolidTeapot
  glutSolidTetrahedron
  glutSolidTorus
  glutSpaceballButtonFunc
  glutSpaceballMotionFunc
  glutSpaceballRotateFunc
  glutSpecialFunc
  glutStrokeCharacter
  glutStrokeWidth
  glutSwapBuffers
  glutTabletButtonFunc
  glutTabletMotionFunc
  glutTimerFunc
  glutUseLayer
  glutVisibilityFunc
  glutWireCone
  glutWireCube
  glutWireDodecahedron
  glutWireIcosahedron
  glutWireOctahedron
  glutWireSphere
  glutWireTeapot
  glutWireTetrahedron
  glutWireTorus

GLU functions

  gluBeginCurve
  gluBeginPolygon
  gluBeginSurface
  gluBeginTrim
  gluBuild1DMipmaps_s
  gluBuild2DMipmaps_s
  gluCylinder
  gluDeleteNurbsRenderer
  gluDeleteQuadric
  gluDeleteTess
  gluDisk
  gluEndCurve
  gluEndPolygon
  gluEndSurface
  gluEndTrim
  gluErrorString
  gluGetNurbsProperty_p
  gluGetString
  gluGetTessProperty_p
  gluLoadSamplingMatrices_p
  gluLookAt
  gluNewNurbsRenderer
  gluNewQuadric
  gluNewTess
  gluNextContour
  gluNurbsCurve_c
  gluNurbsSurface_c
  gluOrtho2D
  gluPartialDisk
  gluPerspective
  gluPickMatrix_p
  gluProject_p
  gluPwlCurve_c
  gluQuadricDrawStyle
  gluQuadricNormals
  gluQuadricOrientation
  gluQuadricTexture
  gluScaleImage_s
  gluSphere
  gluTessBeginCountour
  gluTessBeginPolygon
  gluTessCallback
  gluTessEndContour
  gluTessEndPolygon
  gluTessNormal
  gluTessProperty
  gluTessVertex
  gluUnProject_p

OpenGL functions

  glAccum
  glAlphaFunc
  glAreTexturesResidentEXT_p
  glAreTexturesResident_{cps}
  glArrayElement
  glArrayElementEXT
  glBegin
  glBindTexture
  glBindTextureEXT
  glBitmap_{cps}
  glBlendColorEXT
  glBlendEquationEXT
  glBlendFunc
  glCallList
  glCallLists_{cps}
  glClear
  glClearAccum
  glClearColor
  glClearDepth
  glClearIndex
  glClearStencil
  glClipPlane_{cps}
  glColor3b
  glColor3bv_{cps}
  glColor3d
  glColor3dv_{cps}
  glColor3f
  glColor3fv_{cps}
  glColor3i
  glColor3iv_{cps}
  glColor3s
  glColor3sv_{cps}
  glColor3ub
  glColor3ubv_{cps}
  glColor3ui
  glColor3uiv_{cps}
  glColor3us
  glColor3usv_{cps}
  glColor4b
  glColor4bv_{cps}
  glColor4d
  glColor4dv_{cps}
  glColor4f
  glColor4fv_{cps}
  glColor4i
  glColor4iv_{cps}
  glColor4s
  glColor4sv_{cps}
  glColor4ub
  glColor4ubv_{cps}
  glColor4ui
  glColor4uiv_{cps}
  glColor4us
  glColor4usv_{cps}
  glColorMask
  glColorMaterial
  glColorPointerEXT_c
  glColorPointer_c
  glCopyPixels
  glCopyTexImage1D
  glCopyTexImage1DEXT
  glCopyTexImage2D
  glCopyTexImage2DEXT
  glCopyTexSubImage1D
  glCopyTexSubImage1DEXT
  glCopyTexSubImage2D
  glCopyTexSubImage2DEXT
  glCopyTexSubImage3D
  glCopyTexSubImage3DEXT
  glCullFace
  glDeleteLists
  glDeleteTexturesEXT_p
  glDeleteTextures_{cps}
  glDepthFunc
  glDepthMask
  glDepthRange
  glDisable
  glDisableClientState
  glDrawArrays
  glDrawArraysEXT
  glDrawBuffer
  glDrawElements_{cps}
  glDrawPixels_{cps}
  glDrawRangeElements_{cs}
  glEdgeFlag
  glEdgeFlagPointerEXT_c
  glEdgeFlagPointer_c
  glEnable
  glEnableClientState
  glEnd
  glEndList
  glEvalCoord1d
  glEvalCoord1f
  glEvalCoord2d
  glEvalCoord2f
  glEvalMesh1
  glEvalMesh2
  glEvalPoint1
  glEvalPoint2
  glFeedbackBuffer_c
  glFinish
  glFlush
  glFogf
  glFogfv_{cps}
  glFogi
  glFogiv_{cps}
  glFrontFace
  glFrustum
  glGenLists
  glGenTexturesEXT_p
  glGenTextures_{cps}
  glGetBooleanv_{cps}
  glGetClipPlane_{cps}
  glGetDoublev_{cps}
  glGetError
  glGetFloatv_{cps}
  glGetIntegerv_{cps}
  glGetLightfv_{cps}
  glGetLightiv_{cps}
  glGetMapdv_{cps}
  glGetMapfv_{cps}
  glGetMapiv_{cps}
  glGetMaterialfv_{cps}
  glGetMaterialiv_{cps}
  glGetPixelMapfv_{cps}
  glGetPixelMapuiv_{cps}
  glGetPixelMapusv_{cps}
  glGetPointerv_{cps}
  glGetPolygonStipple_{cps}
  glGetString
  glGetTexEnvfv_{cps}
  glGetTexEnviv_{cps}
  glGetTexGendv_{cps}
  glGetTexGenfv_{cps}
  glGetTexGeniv_{cps}
  glGetTexImage_{cps}
  glGetTexLevelParameterfv_{cps}
  glGetTexLevelParameteriv_{cps}
  glGetTexParameterfv_{cps}
  glGetTexParameteriv_{cps}
  glHint
  glIndexMask
  glIndexPointerEXT_c
  glIndexPointer_c
  glIndexd
  glIndexi
  glInitNames
  glInterleavedArrays_c
  glIsEnabled
  glIsList
  glIsTexture
  glIsTextureEXT
  glLightModelf
  glLightModelfv_{cps}
  glLightModeli
  glLightModeliv_{cps}
  glLightf
  glLightfv_{cps}
  glLighti
  glLightiv_{cps}
  glLineStipple
  glLineWidth
  glListBase
  glLoadIdentity
  glLoadMatrixd_{cps}
  glLoadMatrixf_{cps}
  glLoadName
  glLogicOp
  glMap1d_{cps}
  glMap1f_{cps}
  glMap2d_{cps}
  glMap2f_{cps}
  glMapGrid1d
  glMapGrid1f
  glMapGrid2d
  glMapGrid2f
  glMaterialf
  glMaterialfv_{cps}
  glMateriali
  glMaterialiv_{cps}
  glMatrixMode
  glMultMatrixd_p
  glMultMatrixf_p
  glNewList
  glNormal3b
  glNormal3bv_{cps}
  glNormal3d
  glNormal3dv_{cps}
  glNormal3f
  glNormal3fv_{cps}
  glNormal3i
  glNormal3iv_{cps}
  glNormal3s
  glNormal3sv_{cps}
  glNormalPointerEXT_c
  glNormalPointer_c
  glOrtho
  glPassThrough
  glPixelMapfv_{cps}
  glPixelMapuiv_{cps}
  glPixelMapusv_{cps}
  glPixelStoref
  glPixelStorei
  glPixelTransferf
  glPixelTransferi
  glPixelZoom
  glPointSize
  glPolygonMode
  glPolygonOffset
  glPolygonOffsetEXT
  glPolygonStipple_{cps}
  glPopAttrib
  glPopClientAttrib
  glPopMatrix
  glPopName
  glPrioritizeTexturesEXT_p
  glPrioritizeTextures_{cps}
  glPushAttrib
  glPushClientAttrib
  glPushMatrix
  glPushName
  glRasterPos2d
  glRasterPos2dv_{cps}
  glRasterPos2f
  glRasterPos2fv_{cps}
  glRasterPos2i
  glRasterPos2iv_{cps}
  glRasterPos2s
  glRasterPos2sv_{cps}
  glRasterPos3d
  glRasterPos3dv_{cps}
  glRasterPos3f
  glRasterPos3fv_{cps}
  glRasterPos3i
  glRasterPos3iv_{cps}
  glRasterPos3s
  glRasterPos3sv_{cps}
  glRasterPos4d
  glRasterPos4dv_{cps}
  glRasterPos4f
  glRasterPos4fv_{cps}
  glRasterPos4i
  glRasterPos4iv_{cps}
  glRasterPos4s
  glRasterPos4sv_{cps}
  glReadBuffer
  glReadPixels_{cps}
  glRectd
  glRectdv_{cs}
  glRectf
  glRectfv_{cs}
  glRecti
  glRectiv_{cs}
  glRects
  glRectsv_{cs}
  glRenderMode
  glResizeBuffersMESA
  glRotated
  glRotatef
  glScaled
  glScalef
  glScissor
  glSelectBuffer_c
  glShadeModel
  glStencilFunc
  glStencilMask
  glStencilOp
  glTexCoord1d
  glTexCoord1dv_{cps}
  glTexCoord1f
  glTexCoord1fv_{cps}
  glTexCoord1i
  glTexCoord1iv_{cps}
  glTexCoord1s
  glTexCoord1sv_{cps}
  glTexCoord2d
  glTexCoord2dv_{cps}
  glTexCoord2f
  glTexCoord2fv_{cps}
  glTexCoord2i
  glTexCoord2iv_{cps}
  glTexCoord2s
  glTexCoord2sv_{cps}
  glTexCoord3d
  glTexCoord3dv_{cps}
  glTexCoord3f
  glTexCoord3fv_{cps}
  glTexCoord3i
  glTexCoord3iv_{cps}
  glTexCoord3s
  glTexCoord3sv_{cps}
  glTexCoord4d
  glTexCoord4dv_{cps}
  glTexCoord4f
  glTexCoord4fv_{cps}
  glTexCoord4i
  glTexCoord4iv_{cps}
  glTexCoord4s
  glTexCoord4sv_{cps}
  glTexCoordPointerEXT_c
  glTexCoordPointer_c
  glTexEnvf
  glTexEnvfv_{ps}
  glTexEnvi
  glTexEnviv_{ps}
  glTexGend
  glTexGendv_{cps}
  glTexGenf
  glTexGenfv_{cps}
  glTexGeni
  glTexGeniv_{cps}
  glTexImage1D_{cps}
  glTexImage2D_{cps}
  glTexImage3D_{cps}
  glTexParameterf
  glTexParameterfv_{cps}
  glTexParameteri
  glTexParameteriv_{cps}
  glTexSubImage1D_{cps}
  glTexSubImage2D_{cps}
  glTexSubImage3D_{cps}
  glTranslated
  glTranslatef
  glVertex2d
  glVertex2dv_{cps}
  glVertex2f
  glVertex2fv_{cps}
  glVertex2i
  glVertex2iv_{cps}
  glVertex2s
  glVertex2sv_{cps}
  glVertex3d
  glVertex3dv_{cps}
  glVertex3f
  glVertex3fv_{cps}
  glVertex3i
  glVertex3iv_{cps}
  glVertex3s
  glVertex3sv_{cps}
  glVertex4d
  glVertex4dv_{cps}
  glVertex4f
  glVertex4fv_{cps}
  glVertex4i
  glVertex4iv_{cps}
  glVertex4s
  glVertex4sv_{cps}
  glVertexPointerEXT_c
  glVertexPointer_c
  glViewport
  glWindowPos2dMESA
  glWindowPos2iMESA
  glWindowPos3dMESA
  glWindowPos3iMESA
  glWindowPos4dMESA
  glWindowPos4iMESA

GLX functions

GLX is only supported to the degree that Stan's original module supported it. Without an entire X binding it is of limited use, and I recommend using glut instead.

  XPending
  glXSwapBuffers
  glpReadTex
  glpXNextEvent
  glpXQueryPointer
  glpcOpenWindow

Old functions

  AlreadyGrabbed
  AnyModifier
  AsyncBoth
  AsyncKeyboard
  AsyncPointer
  Button1
  Button1Mask
  Button1MotionMask
  Button2
  Button2Mask
  Button2MotionMask
  Button3
  Button3Mask
  Button3MotionMask
  Button4
  Button4Mask
  Button4MotionMask
  Button5
  Button5Mask
  Button5MotionMask
  ButtonMotionMask
  ButtonPress
  ButtonPressMask
  ButtonRelease
  ButtonReleaseMask
  CirculateNotify
  CirculateRequest
  ClientMessage
  ColormapChangeMask
  ColormapInstalled
  ColormapNotify
  ColormapUninstalled
  ConfigureNotify
  ConfigureRequest
  ControlMapIndex
  ControlMask
  CreateNotify
  DestroyNotify
  DirectColor
  EnterNotify
  EnterWindowMask
  Expose
  ExposureMask
  FamilyChaos
  FamilyDECnet
  FamilyInternet
  FocusChangeMask
  FocusIn
  FocusOut
  GrabFrozen
  GrabInvalidTime
  GrabModeAsync
  GrabModeSync
  GrabNotViewable
  GrabSuccess
  GraphicsExpose
  GravityNotify
  GrayScale
  KeyPress
  KeyPressMask
  KeyRelease
  KeyReleaseMask
  KeymapNotify
  KeymapStateMask
  LASTEvent
  LeaveNotify
  LeaveWindowMask
  LockMapIndex
  LockMask
  MapNotify
  MapRequest
  MappingNotify
  Mod1MapIndex
  Mod1Mask
  Mod2MapIndex
  Mod2Mask
  Mod3MapIndex
  Mod3Mask
  Mod4MapIndex
  Mod4Mask
  Mod5MapIndex
  Mod5Mask
  MotionNotify
  NoEventMask
  NoExpose
  NotifyAncestor
  NotifyDetailNone
  NotifyGrab
  NotifyHint
  NotifyInferior
  NotifyNonlinear
  NotifyNonlinearVirtual
  NotifyNormal
  NotifyPointer
  NotifyPointerRoot
  NotifyUngrab
  NotifyVirtual
  NotifyWhileGrabbed
  OwnerGrabButtonMask
  PlaceOnBottom
  PlaceOnTop
  PointerMotionHintMask
  PointerMotionMask
  PropertyChangeMask
  PropertyDelete
  PropertyNewValue
  PropertyNotify
  PseudoColor
  ReparentNotify
  ReplayKeyboard
  ReplayPointer
  ResizeRedirectMask
  ResizeRequest
  SelectionClear
  SelectionNotify
  SelectionRequest
  ShiftMapIndex
  ShiftMask
  StaticColor
  StaticGray
  StructureNotifyMask
  SubstructureNotifyMask
  SubstructureRedirectMask
  SyncBoth
  SyncKeyboard
  SyncPointer
  TrueColor
  UnmapNotify
  VisibilityChangeMask
  VisibilityFullyObscured
  VisibilityNotify
  VisibilityPartiallyObscured
  VisibilityUnobscured
  XPending
  X_PROTOCOL
  X_PROTOCOL_REVISION
  glAccum
  glAlphaFunc
  glBegin
  glBitmap
  glBlendColorEXT
  glBlendEquationEXT
  glBlendFunc
  glCallList
  glCallLists
  glClear
  glClearAccum
  glClearColor
  glClearDepth
  glClearIndex
  glClearStencil
  glClipPlane
  glColor3b
  glColor3bv
  glColor3d
  glColor3dv
  glColor3f
  glColor3fv
  glColor3i
  glColor3iv
  glColor3s
  glColor3sv
  glColor3ub
  glColor3ubv
  glColor3ui
  glColor3uiv
  glColor3us
  glColor3usv
  glColor4b
  glColor4bv
  glColor4d
  glColor4dv
  glColor4f
  glColor4fv
  glColor4i
  glColor4iv
  glColor4s
  glColor4sv
  glColor4ub
  glColor4ubv
  glColor4ui
  glColor4uiv
  glColor4us
  glColor4usv
  glColorMask
  glColorMaterial
  glConvolutionFilter1DEXT
  glConvolutionFilter2DEXT
  glConvolutionParameterfEXT
  glConvolutionParameterfvEXT
  glConvolutionParameteriEXT
  glConvolutionParameterivEXT
  glCopyConvolutionFilter1DEXT
  glCopyConvolutionFilter2DEXT
  glCopyPixels
  glCullFace
  glDeleteLists
  glDepthFunc
  glDepthMask
  glDepthRange
  glDetailTexFuncSGIS
  glDisable
  glDrawBuffer
  glDrawPixels
  glEdgeFlag
  glEdgeFlagv
  glEnable
  glEnd
  glEndList
  glEvalCoord1d
  glEvalCoord1dv
  glEvalCoord1f
  glEvalCoord1fv
  glEvalCoord2d
  glEvalCoord2dv
  glEvalCoord2f
  glEvalCoord2fv
  glEvalMesh1
  glEvalMesh2
  glEvalPoint1
  glEvalPoint2
  glFeedbackBuffer
  glFinish
  glFlush
  glFogf
  glFogfv
  glFogi
  glFogiv
  glFrontFace
  glFrustum
  glGenLists
  glGetBooleanv
  glGetClipPlane
  glGetConvolutionFilterEXT
  glGetConvolutionParameterfvEXT
  glGetConvolutionParameterivEXT
  glGetDetailTexFuncSGIS
  glGetDoublev
  glGetError
  glGetFloatv
  glGetHistogramEXT
  glGetHistogramParameterfvEXT
  glGetHistogramParameterivEXT
  glGetIntegerv
  glGetLightfv
  glGetLightiv
  glGetMapdv
  glGetMapfv
  glGetMapiv
  glGetMaterialfv
  glGetMaterialiv
  glGetMinmaxEXT
  glGetMinmaxParameterfvEXT
  glGetMinmaxParameterivEXT
  glGetPixelMapfv
  glGetPixelMapuiv
  glGetPixelMapusv
  glGetPolygonStipple
  glGetSeparableFilterEXT
  glGetSharpenTexFuncSGIS
  glGetTexEnvfv
  glGetTexEnviv
  glGetTexGendv
  glGetTexGenfv
  glGetTexGeniv
  glGetTexImage
  glGetTexLevelParameterfv
  glGetTexLevelParameteriv
  glGetTexParameterfv
  glGetTexParameteriv
  glHint
  glHistogramEXT
  glIndexMask
  glIndexd
  glIndexdv
  glIndexf
  glIndexfv
  glIndexi
  glIndexiv
  glIndexs
  glIndexsv
  glInitNames
  glIsEnabled
  glIsList
  glLightModelf
  glLightModelfv
  glLightModeli
  glLightModeliv
  glLightf
  glLightfv
  glLighti
  glLightiv
  glLineStipple
  glLineWidth
  glListBase
  glLoadIdentity
  glLoadMatrixd
  glLoadMatrixf
  glLoadName
  glLogicOp
  glMap1d
  glMap1f
  glMap2d
  glMap2f
  glMapGrid1d
  glMapGrid1f
  glMapGrid2d
  glMapGrid2f
  glMaterialf
  glMaterialfv
  glMateriali
  glMaterialiv
  glMatrixMode
  glMinmaxEXT
  glMultMatrixd
  glMultMatrixf
  glNewList
  glNormal3b
  glNormal3bv
  glNormal3d
  glNormal3dv
  glNormal3f
  glNormal3fv
  glNormal3i
  glNormal3iv
  glNormal3s
  glNormal3sv
  glOrtho
  glPassThrough
  glPixelMapfv
  glPixelMapuiv
  glPixelMapusv
  glPixelStoref
  glPixelStorei
  glPixelTransferf
  glPixelTransferi
  glPixelZoom
  glPointSize
  glPolygonMode
  glPolygonOffsetEXT
  glPolygonStipple
  glPopAttrib
  glPopMatrix
  glPopName
  glPushAttrib
  glPushMatrix
  glPushName
  glRasterPos2d
  glRasterPos2dv
  glRasterPos2f
  glRasterPos2fv
  glRasterPos2i
  glRasterPos2iv
  glRasterPos2s
  glRasterPos2sv
  glRasterPos3d
  glRasterPos3dv
  glRasterPos3f
  glRasterPos3fv
  glRasterPos3i
  glRasterPos3iv
  glRasterPos3s
  glRasterPos3sv
  glRasterPos4d
  glRasterPos4dv
  glRasterPos4f
  glRasterPos4fv
  glRasterPos4i
  glRasterPos4iv
  glRasterPos4s
  glRasterPos4sv
  glReadBuffer
  glReadPixels
  glRectd
  glRectdv
  glRectf
  glRectfv
  glRecti
  glRectiv
  glRects
  glRectsv
  glRenderMode
  glResetHistogramEXT
  glResetMinmaxEXT
  glRotated
  glRotatef
  glSampleMaskSGIS
  glSamplePatternSGIS
  glScaled
  glScalef
  glScissor
  glSelectBuffer
  glSeparableFilter2DEXT
  glShadeModel
  glSharpenTexFuncSGIS
  glStencilFunc
  glStencilMask
  glStencilOp
  glTagSampleBufferSGIX
  glTexCoord1d
  glTexCoord1dv
  glTexCoord1f
  glTexCoord1fv
  glTexCoord1i
  glTexCoord1iv
  glTexCoord1s
  glTexCoord1sv
  glTexCoord2d
  glTexCoord2dv
  glTexCoord2f
  glTexCoord2fv
  glTexCoord2i
  glTexCoord2iv
  glTexCoord2s
  glTexCoord2sv
  glTexCoord3d
  glTexCoord3dv
  glTexCoord3f
  glTexCoord3fv
  glTexCoord3i
  glTexCoord3iv
  glTexCoord3s
  glTexCoord3sv
  glTexCoord4d
  glTexCoord4dv
  glTexCoord4f
  glTexCoord4fv
  glTexCoord4i
  glTexCoord4iv
  glTexCoord4s
  glTexCoord4sv
  glTexEnvf
  glTexEnvfv
  glTexEnvi
  glTexEnviv
  glTexGend
  glTexGendv
  glTexGenf
  glTexGenfv
  glTexGeni
  glTexGeniv
  glTexImage1D
  glTexImage2D
  glTexImage3DEXT
  glTexParameterf
  glTexParameterfv
  glTexParameteri
  glTexParameteriv
  glTexSubImage1DEXT
  glTexSubImage2DEXT
  glTexSubImage3DEXT
  glTranslated
  glTranslatef
  glVertex2d
  glVertex2dv
  glVertex2f
  glVertex2fv
  glVertex2i
  glVertex2iv
  glVertex2s
  glVertex2sv
  glVertex3d
  glVertex3dv
  glVertex3f
  glVertex3fv
  glVertex3i
  glVertex3iv
  glVertex3s
  glVertex3sv
  glVertex4d
  glVertex4dv
  glVertex4f
  glVertex4fv
  glVertex4i
  glVertex4iv
  glVertex4s
  glVertex4sv
  glViewport
  glXSwapBuffers
  glpClipPlane
  glpDisplay
  glpGetClipPlane
  glpLoadMatrixd
  glpLoadMatrixf
  glpMainLoop
  glpMoveResizeWindow
  glpMoveWindow
  glpMultMatrixd
  glpMultMatrixf
  glpOpenWindow
  glpReadTex
  glpResizeWindow
  glpXNextEvent
  glpXQueryPointer
  gluLookAt
  gluOrtho2D
  gluPerspective


Compatibility with OpenGL 0.4:

The OpenGL 0.4 library, written by Stan Melax, contains more support for some SGI specific functions then 0.5, so you may wish to stay with 0.4 on an SGI system. For other machines, 0.5 should greatly improve compatibility (compiling where 0.4 wouldn't have).

Code-level compatibility with OpenGL 0.4 is available if you refer to OpenGL simply via use OpenGL;. If you request specific packages (such as use OpenGL qw(glfunctions glconstants glutfunctions);), you'll get 0.5 specific support.


EXPORTS

The following tags can be used to selectively import symbols into the main namespace.

:all
Exports all symbols (constants and functions).

:functions
Exports all functions.

:constants
Exports all constants.

:glfunctions
Exports all gl* functions.

:glconstants
Exports all symbols needed for the gl* functions.

:glufunctions
Exports all glu* functions.

:gluconstants
Exports all symbols needed for the glu* functions.

:glutfunctions
Exports all glut* functions.

:glutconstants
Exports all symbols needed for the glut* functions.

:glxfunctions
Exports all glx* functions.

:glxconstants
Exports all symbols needed for the glx* functions.

:old
Exports all old functions and constants.

:oldfunctions
Exports all old functions.

:oldconstants
Exports all symbols needed for the old functions.


AUTHORS

Primary author of version 0.5 is Kenneth Albanowski. Derived from Stan's OpenGL 0.4, with pinches of Cass Everitt's OpenGL work.

Copyright (c) 1998,1999 Kenneth Albanowski <kjahds@kjahds.com>. All rights reserved.

Copyright (c) 2000 Ilya Zakharevich <ilya@math.ohio-state.edu>. All rights reserved.

Windows port: Jean-Louis Morel <jl_morel@bribes.org> home page: http://www.bribes.org/perl/wopengl.html

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 OpenGL - Perl module to display 3D data using OpenGL, GLU, GLUT, and GLX