OpenGL.3pm

Langue: en

Autres versions - même langue

Version: 2009-12-27 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

OpenGL - v0.62

SYNOPSIS

         use OpenGL qw(:old); # Exports much old functionality of OpenGL 0.4
 
         use OpenGL; # DEPRECATED!  Same as above.  DEPRECATED!
 
         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
 
         See also: POGL Objects
 
         * OpenGL::Array - optimized data arrays via C pointers
 
         * OpenGL::Image - direct C pointer acces to ImageMagick image cache
 
         * OpenGL::Shader - abstracted shader interface: ARB, GLSL and Cg
 
 

DOCUMENTATION

Documentation, tips, sample source, benchmarks and binary distributions available at http://graphcomp.com/opengl

PREREQUISITES

This module assumes that you have OpenGL, GLU, and some flavor of GLUT properly installed on your system. These will be names like libGL.so, libGLU.so and libglut.so for unixen, opengl32.dll and glu32.dll for MS Windows.

If used with OpenGL::Image, use v1.03 or higher.

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 Perl 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 or a reference to a Perl string containing packed data. The underlying OpenGL function will be passed a pointer to that data.

GLUT functions

   done_glutInit
   glutAddMenuEntry
   glutAddSubMenu
   glutAttachMenu
   glutBitmapCharacter
   glutBitmapHeight
   glutBitmapLength
   glutBitmapString
   glutBitmapWidth
   glutButtonBoxFunc
   glutChangeToMenuEntry
   glutChangeToSubMenu
   glutCloseFunc
   glutCopyColormap
   glutCreateMenu
   glutCreateSubWindow
   glutCreateWindow
   glutDestroyMenu
   glutDestroyWindow
   glutDetachMenu
   glutDeviceGet
   glutDialsFunc
   glutDisplayFunc
   glutEnterGameMode
   glutEntryFunc
   glutEstablishOverlay
   glutExtensionSupported
   glutForceJoystickFunc
   glutFullScreen
   glutGameModeGet
   glutGameModeString
   glutGet
   glutGetColor
   glutGetMenu
   glutGetModifiers
   glutGetWindow
   glutHideOverlay
   glutHideWindow
   glutIconifyWindow
   glutIdleFunc
   glutIgnoreKeyRepeat
   glutInit
   glutInitDisplayMode
   glutInitDisplayString
   glutInitWindowPosition
   glutInitWindowSize
   glutKeyboardFunc
   glutKeyboardUpFunc
   glutLayerGet
   glutLeaveGameMode
   glutLeaveMainLoop
   glutMainLoop
   glutMainLoopEvent
   glutMenuDestroyFunc
   glutMenuStateFunc
   glutMenuStatusFunc
   glutMotionFunc
   glutMouseFunc
   glutMouseWheelFunc
   glutOverlayDisplayFunc
   glutPassiveMotionFunc
   glutPopWindow
   glutPositionWindow
   glutPostOverlayRedisplay
   glutPostRedisplay
   glutPostWindowOverlayRedisplay
   glutPostWindowRedisplay
   glutPushWindow
   glutRemoveMenuItem
   glutRemoveOverlay
   glutReportErrors
   glutReshapeFunc
   glutReshapeWindow
   glutSetColor
   glutSetCursor
   glutSetIconTitle
   glutSetKeyRepeat
   glutSetMenu
   glutSetOption
   glutSetWindow
   glutSetWindowTitle
   glutShowOverlay
   glutShowWindow
   glutSolidCone
   glutSolidCube
   glutSolidCylinder
   glutSolidDodecahedron
   glutSolidIcosahedron
   glutSolidOctahedron
   glutSolidRhombicDodecahedron
   glutSolidSphere
   glutSolidTeapot
   glutSolidTetrahedron
   glutSolidTorus
   glutSpaceballButtonFunc
   glutSpaceballMotionFunc
   glutSpaceballRotateFunc
   glutSpecialFunc
   glutSpecialUpFunc
   glutStrokeCharacter
   glutStrokeHeight
   glutStrokeLength
   glutStrokeString
   glutStrokeWidth
   glutSwapBuffers
   glutTabletButtonFunc
   glutTabletMotionFunc
   glutTimerFunc
   glutUseLayer
   glutVisibilityFunc
   glutWarpPointer
   glutWindowStatusFunc
   glutWireCone
   glutWireCube
   glutWireCylinder
   glutWireDodecahedron
   glutWireIcosahedron
   glutWireOctahedron
   glutWireRhombicDodecahedron
   glutWireSphere
   glutWireTeapot
   glutWireTetrahedron
   glutWireTorus
 
 

GLU functions

   gluBeginCurve
   gluBeginPolygon
   gluBeginSurface
   gluBeginTrim
   gluBuild1DMipmaps_c
   gluBuild1DMipmaps_s
   gluBuild2DMipmaps_c
   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
   glActiveTextureARB
   glAlphaFunc
   glAreTexturesResidentEXT_p
   glAreTexturesResident_c
   glAreTexturesResident_p
   glAreTexturesResident_s
   glArrayElement
   glArrayElementEXT
   glAttachObjectARB
   glBegin
   glBindAttribLocationARB
   glBindBufferARB
   glBindFramebufferEXT
   glBindProgramARB
   glBindRenderbufferEXT
   glBindTexture
   glBindTextureEXT
   glBitmap_c
   glBitmap_p
   glBitmap_s
   glBlendColorEXT
   glBlendEquationEXT
   glBlendFunc
   glBufferDataARB_c
   glBufferDataARB_p
   glBufferDataARB_s
   glBufferSubDataARB_c
   glBufferSubDataARB_p
   glBufferSubDataARB_s
   glCallList
   glCallLists_c
   glCallLists_p
   glCallLists_s
   glCheckFramebufferStatusEXT
   glClampColorARB
   glClear
   glClearAccum
   glClearColor
   glClearDepth
   glClearIndex
   glClearStencil
   glClientActiveTextureARB
   glClipPlane_c
   glClipPlane_p
   glClipPlane_s
   glColor3b
   glColor3bv_c
   glColor3bv_p
   glColor3bv_s
   glColor3d
   glColor3dv_c
   glColor3dv_p
   glColor3dv_s
   glColor3f
   glColor3fv_c
   glColor3fv_p
   glColor3fv_s
   glColor3i
   glColor3iv_c
   glColor3iv_p
   glColor3iv_s
   glColor3s
   glColor3sv_c
   glColor3sv_p
   glColor3sv_s
   glColor3ub
   glColor3ubv_c
   glColor3ubv_p
   glColor3ubv_s
   glColor3ui
   glColor3uiv_c
   glColor3uiv_p
   glColor3uiv_s
   glColor3us
   glColor3usv_c
   glColor3usv_p
   glColor3usv_s
   glColor4b
   glColor4bv_c
   glColor4bv_p
   glColor4bv_s
   glColor4d
   glColor4dv_c
   glColor4dv_p
   glColor4dv_s
   glColor4f
   glColor4fv_c
   glColor4fv_p
   glColor4fv_s
   glColor4i
   glColor4iv_c
   glColor4iv_p
   glColor4iv_s
   glColor4s
   glColor4sv_c
   glColor4sv_p
   glColor4sv_s
   glColor4ub
   glColor4ubv_c
   glColor4ubv_p
   glColor4ubv_s
   glColor4ui
   glColor4uiv_c
   glColor4uiv_p
   glColor4uiv_s
   glColor4us
   glColor4usv_c
   glColor4usv_p
   glColor4usv_s
   glColorMask
   glColorMaterial
   glColorPointerEXT_c
   glColorPointerEXT_p
   glColorPointerEXT_s
   glColorPointer_c
   glColorPointer_p
   glColorPointer_s
   glCompileShaderARB
   glCopyPixels
   glCopyTexImage1D
   glCopyTexImage1DEXT
   glCopyTexImage2D
   glCopyTexImage2DEXT
   glCopyTexSubImage1D
   glCopyTexSubImage1DEXT
   glCopyTexSubImage2D
   glCopyTexSubImage2DEXT
   glCopyTexSubImage3D
   glCopyTexSubImage3DEXT
   glCreateProgramObjectARB
   glCreateShaderObjectARB
   glCullFace
   glDeleteBuffersARB_c
   glDeleteBuffersARB_p
   glDeleteBuffersARB_s
   glDeleteFramebuffersEXT_c
   glDeleteFramebuffersEXT_p
   glDeleteFramebuffersEXT_s
   glDeleteLists
   glDeleteObjectARB
   glDeleteProgramsARB_c
   glDeleteProgramsARB_p
   glDeleteProgramsARB_s
   glDeleteRenderbuffersEXT_c
   glDeleteRenderbuffersEXT_p
   glDeleteRenderbuffersEXT_s
   glDeleteTexturesEXT_p
   glDeleteTextures_c
   glDeleteTextures_p
   glDeleteTextures_s
   glDepthFunc
   glDepthMask
   glDepthRange
   glDetachObjectARB
   glDisable
   glDisableClientState
   glDisableVertexAttribArrayARB
   glDrawArrays
   glDrawArraysEXT
   glDrawBuffer
   glDrawBuffersARB_c
   glDrawBuffersARB_p
   glDrawBuffersARB_s
   glDrawBuffers_c
   glDrawBuffers_p
   glDrawBuffers_s
   glDrawElements_c
   glDrawElements_p
   glDrawElements_s
   glDrawPixels_c
   glDrawPixels_p
   glDrawPixels_s
   glDrawRangeElements_c
   glDrawRangeElements_p
   glDrawRangeElements_s
   glEdgeFlag
   glEdgeFlagPointerEXT_c
   glEdgeFlagPointerEXT_p
   glEdgeFlagPointerEXT_s
   glEdgeFlagPointer_c
   glEdgeFlagPointer_p
   glEdgeFlagPointer_s
   glEnable
   glEnableClientState
   glEnableVertexAttribArrayARB
   glEnd
   glEndList
   glEvalCoord1d
   glEvalCoord1f
   glEvalCoord2d
   glEvalCoord2f
   glEvalMesh1
   glEvalMesh2
   glEvalPoint1
   glEvalPoint2
   glFeedbackBuffer_c
   glFeedbackBuffer_p -- not yet implemented
   glFeedbackBuffer_s -- not yet implemented
   glFinish
   glFlush
   glFogf
   glFogfv_c
   glFogfv_p
   glFogfv_s
   glFogi
   glFogiv_c
   glFogiv_p
   glFogiv_s
   glFramebufferRenderbufferEXT
   glFramebufferTexture1DEXT
   glFramebufferTexture2DEXT
   glFramebufferTexture3DEXT
   glFrontFace
   glFrustum
   glGenBuffersARB_c
   glGenBuffersARB_p
   glGenBuffersARB_s
   glGenFramebuffersEXT_c
   glGenFramebuffersEXT_p
   glGenFramebuffersEXT_s
   glGenLists
   glGenProgramsARB_c
   glGenProgramsARB_p
   glGenProgramsARB_s
   glGenRenderbuffersEXT_c
   glGenRenderbuffersEXT_p
   glGenRenderbuffersEXT_s
   glGenTexturesEXT_p
   glGenTextures_c
   glGenTextures_p
   glGenTextures_s
   glGenerateMipmapEXT
   glGetActiveAttribARB_c
   glGetActiveAttribARB_p
   glGetActiveAttribARB_s
   glGetActiveUniformARB_c
   glGetActiveUniformARB_p
   glGetActiveUniformARB_s
   glGetAttachedObjectsARB_c
   glGetAttachedObjectsARB_p
   glGetAttachedObjectsARB_s
   glGetAttribLocationARB_c
   glGetAttribLocationARB_p
   glGetBooleanv_c
   glGetBooleanv_p
   glGetBooleanv_s
   glGetBufferParameterivARB_c
   glGetBufferParameterivARB_p
   glGetBufferParameterivARB_s
   glGetBufferPointervARB_c
   glGetBufferPointervARB_p
   glGetBufferPointervARB_s
   glGetBufferSubDataARB_c
   glGetBufferSubDataARB_p
   glGetBufferSubDataARB_s
   glGetClipPlane_c
   glGetClipPlane_p
   glGetClipPlane_s
   glGetDoublev_c
   glGetDoublev_p
   glGetDoublev_s
   glGetError
   glGetFloatv_c
   glGetFloatv_p
   glGetFloatv_s
   glGetFramebufferAttachmentParameterivEXT_c
   glGetFramebufferAttachmentParameterivEXT_s
   glGetGLhandleARB
   glGetInfoLogARB_c
   glGetInfoLogARB_p
   glGetIntegerv_c
   glGetIntegerv_p
   glGetIntegerv_s
   glGetLightfv_c
   glGetLightfv_p
   glGetLightfv_s
   glGetLightiv_c
   glGetLightiv_p
   glGetLightiv_s
   glGetMapdv_c
   glGetMapdv_p
   glGetMapdv_s
   glGetMapfv_c
   glGetMapfv_p
   glGetMapfv_s
   glGetMapiv_c
   glGetMapiv_p
   glGetMapiv_s
   glGetMaterialfv_c
   glGetMaterialfv_p
   glGetMaterialfv_s
   glGetMaterialiv_c
   glGetMaterialiv_p
   glGetMaterialiv_s
   glGetObjectParameterfvARB_c
   glGetObjectParameterfvARB_p
   glGetObjectParameterfvARB_s
   glGetObjectParameterivARB_c
   glGetObjectParameterivARB_p
   glGetObjectParameterivARB_s
   glGetPixelMapfv_c
   glGetPixelMapfv_p
   glGetPixelMapfv_s
   glGetPixelMapuiv_c
   glGetPixelMapuiv_p
   glGetPixelMapuiv_s
   glGetPixelMapusv_c
   glGetPixelMapusv_p
   glGetPixelMapusv_s
   glGetPointerv_c
   glGetPointerv_p
   glGetPointerv_s
   glGetPolygonStipple_c
   glGetPolygonStipple_p
   glGetPolygonStipple_s
   glGetProgramEnvParameterdvARB_c
   glGetProgramEnvParameterdvARB_p
   glGetProgramEnvParameterdvARB_s
   glGetProgramEnvParameterfvARB_c
   glGetProgramEnvParameterfvARB_p
   glGetProgramEnvParameterfvARB_s
   glGetProgramLocalParameterdvARB_c
   glGetProgramLocalParameterdvARB_p
   glGetProgramLocalParameterdvARB_s
   glGetProgramLocalParameterfvARB_c
   glGetProgramLocalParameterfvARB_p
   glGetProgramLocalParameterfvARB_s
   glGetProgramStringARB_c
   glGetProgramStringARB_p
   glGetProgramStringARB_s
   glGetProgramivARB_c
   glGetProgramivARB_p
   glGetProgramivARB_s
   glGetRenderbufferParameterivEXT_c
   glGetRenderbufferParameterivEXT_s
   glGetShaderSourceARB_c
   glGetShaderSourceARB_p
   glGetString
   glGetTexEnvfv_c
   glGetTexEnvfv_p
   glGetTexEnvfv_s
   glGetTexEnviv_c
   glGetTexEnviv_p
   glGetTexEnviv_s
   glGetTexGendv_c
   glGetTexGendv_p
   glGetTexGendv_s
   glGetTexGenfv_c
   glGetTexGenfv_p
   glGetTexGenfv_s
   glGetTexGeniv_c
   glGetTexGeniv_p
   glGetTexGeniv_s
   glGetTexImage_c
   glGetTexImage_p
   glGetTexImage_s
   glGetTexLevelParameterfv_c
   glGetTexLevelParameterfv_p
   glGetTexLevelParameterfv_s
   glGetTexLevelParameteriv_c
   glGetTexLevelParameteriv_p
   glGetTexLevelParameteriv_s
   glGetTexParameterfv_c
   glGetTexParameterfv_p
   glGetTexParameterfv_s
   glGetTexParameteriv_c
   glGetTexParameteriv_p
   glGetTexParameteriv_s
   glGetUniformLocationARB_c
   glGetUniformLocationARB_p
   glGetUniformfvARB_c
   glGetUniformfvARB_p
   glGetUniformivARB_c
   glGetUniformivARB_p
   glGetVertexAttribPointervARB_c
   glGetVertexAttribdvARB_c
   glGetVertexAttribdvARB_p
   glGetVertexAttribdvARB_s
   glGetVertexAttribfvARB_c
   glGetVertexAttribfvARB_p
   glGetVertexAttribfvARB_s
   glGetVertexAttribivARB_c
   glGetVertexAttribivARB_p
   glGetVertexAttribivARB_s
   glHint
   glIndexMask
   glIndexPointerEXT_c
   glIndexPointerEXT_p
   glIndexPointerEXT_s
   glIndexPointer_c
   glIndexd
   glIndexi
   glInitNames
   glInterleavedArrays_c
   glIsBufferARB
   glIsEnabled
   glIsFramebufferEXT
   glIsList
   glIsProgramARB
   glIsRenderbufferEXT
   glIsTexture
   glIsTextureEXT
   glLightModelf
   glLightModelfv_c
   glLightModelfv_p
   glLightModelfv_s
   glLightModeli
   glLightModeliv_c
   glLightModeliv_p
   glLightModeliv_s
   glLightf
   glLightfv_c
   glLightfv_p
   glLightfv_s
   glLighti
   glLightiv_c
   glLightiv_p
   glLightiv_s
   glLineStipple
   glLineWidth
   glLinkProgramARB
   glListBase
   glLoadIdentity
   glLoadMatrixd_c
   glLoadMatrixd_p
   glLoadMatrixd_s
   glLoadMatrixf_c
   glLoadMatrixf_p
   glLoadMatrixf_s
   glLoadName
   glLogicOp
   glMap1d_c
   glMap1d_p
   glMap1d_s
   glMap1f_c
   glMap1f_p
   glMap1f_s
   glMap2d_c
   glMap2d_p
   glMap2d_s
   glMap2f_c
   glMap2f_p
   glMap2f_s
   glMapBufferARB_c
   glMapBufferARB_p
   glMapGrid1d
   glMapGrid1f
   glMapGrid2d
   glMapGrid2f
   glMaterialf
   glMaterialfv_c
   glMaterialfv_p
   glMaterialfv_s
   glMateriali
   glMaterialiv_c
   glMaterialiv_p
   glMaterialiv_s
   glMatrixMode
   glMultMatrixd_p
   glMultMatrixf_p
   glMultiTexCoord1dARB
   glMultiTexCoord1dvARB_c
   glMultiTexCoord1dvARB_c
   glMultiTexCoord1dvARB_c
   glMultiTexCoord1fARB
   glMultiTexCoord1fvARB_c
   glMultiTexCoord1fvARB_c
   glMultiTexCoord1fvARB_c
   glMultiTexCoord1iARB
   glMultiTexCoord1ivARB_c
   glMultiTexCoord1ivARB_c
   glMultiTexCoord1ivARB_c
   glMultiTexCoord1sARB
   glMultiTexCoord1svARB_c
   glMultiTexCoord1svARB_c
   glMultiTexCoord1svARB_c
   glMultiTexCoord2dARB
   glMultiTexCoord2dvARB_c
   glMultiTexCoord2dvARB_c
   glMultiTexCoord2dvARB_c
   glMultiTexCoord2fARB
   glMultiTexCoord2fvARB_c
   glMultiTexCoord2fvARB_c
   glMultiTexCoord2fvARB_c
   glMultiTexCoord2iARB
   glMultiTexCoord2ivARB_c
   glMultiTexCoord2ivARB_c
   glMultiTexCoord2ivARB_c
   glMultiTexCoord2sARB
   glMultiTexCoord2svARB_c
   glMultiTexCoord2svARB_c
   glMultiTexCoord2svARB_c
   glMultiTexCoord3dARB
   glMultiTexCoord3dvARB_c
   glMultiTexCoord3dvARB_c
   glMultiTexCoord3dvARB_c
   glMultiTexCoord3fARB
   glMultiTexCoord3fvARB_c
   glMultiTexCoord3fvARB_c
   glMultiTexCoord3fvARB_c
   glMultiTexCoord3iARB
   glMultiTexCoord3ivARB_c
   glMultiTexCoord3ivARB_c
   glMultiTexCoord3ivARB_c
   glMultiTexCoord3sARB
   glMultiTexCoord3svARB_c
   glMultiTexCoord3svARB_c
   glMultiTexCoord3svARB_c
   glMultiTexCoord4dARB
   glMultiTexCoord4dvARB_c
   glMultiTexCoord4dvARB_c
   glMultiTexCoord4dvARB_c
   glMultiTexCoord4fARB
   glMultiTexCoord4fvARB_c
   glMultiTexCoord4fvARB_c
   glMultiTexCoord4fvARB_c
   glMultiTexCoord4iARB
   glMultiTexCoord4ivARB_c
   glMultiTexCoord4ivARB_c
   glMultiTexCoord4ivARB_c
   glMultiTexCoord4sARB
   glMultiTexCoord4svARB_c
   glMultiTexCoord4svARB_c
   glMultiTexCoord4svARB_c
   glNewList
   glNormal3b
   glNormal3bv_c
   glNormal3bv_p
   glNormal3bv_s
   glNormal3d
   glNormal3dv_c
   glNormal3dv_p
   glNormal3dv_s
   glNormal3f
   glNormal3fv_c
   glNormal3fv_p
   glNormal3fv_s
   glNormal3i
   glNormal3iv_c
   glNormal3iv_p
   glNormal3iv_s
   glNormal3s
   glNormal3sv_c
   glNormal3sv_p
   glNormal3sv_s
   glNormalPointerEXT_c
   glNormalPointerEXT_p
   glNormalPointerEXT_s
   glNormalPointer_c
   glOrtho
   glPassThrough
   glPixelMapfv_c
   glPixelMapfv_p
   glPixelMapfv_s
   glPixelMapuiv_c
   glPixelMapuiv_p
   glPixelMapuiv_s
   glPixelMapusv_c
   glPixelMapusv_p
   glPixelMapusv_s
   glPixelStoref
   glPixelStorei
   glPixelTransferf
   glPixelTransferi
   glPixelZoom
   glPointParameterfARB
   glPointParameterfvARB_c
   glPointParameterfvARB_p
   glPointParameterfvARB_s
   glPointSize
   glPolygonMode
   glPolygonOffset
   glPolygonOffsetEXT
   glPolygonStipple_c
   glPolygonStipple_p
   glPolygonStipple_s
   glPopAttrib
   glPopClientAttrib
   glPopMatrix
   glPopName
   glPrioritizeTexturesEXT_p
   glPrioritizeTextures_c
   glPrioritizeTextures_p
   glPrioritizeTextures_s
   glProgramEnvParameter4dARB
   glProgramEnvParameter4dvARB_c
   glProgramEnvParameter4dvARB_p
   glProgramEnvParameter4dvARB_s
   glProgramEnvParameter4fARB
   glProgramEnvParameter4fvARB_c
   glProgramEnvParameter4fvARB_p
   glProgramEnvParameter4fvARB_s
   glProgramLocalParameter4dARB
   glProgramLocalParameter4dvARB_c
   glProgramLocalParameter4dvARB_p
   glProgramLocalParameter4dvARB_s
   glProgramLocalParameter4fARB
   glProgramLocalParameter4fvARB_c
   glProgramLocalParameter4fvARB_p
   glProgramLocalParameter4fvARB_s
   glProgramStringARB_c
   glProgramStringARB_p
   glProgramStringARB_s
   glPushAttrib
   glPushClientAttrib
   glPushMatrix
   glPushName
   glRasterPos2d
   glRasterPos2dv_c
   glRasterPos2dv_p
   glRasterPos2dv_s
   glRasterPos2f
   glRasterPos2fv_c
   glRasterPos2fv_p
   glRasterPos2fv_s
   glRasterPos2i
   glRasterPos2iv_c
   glRasterPos2iv_p
   glRasterPos2iv_s
   glRasterPos2s
   glRasterPos2sv_c
   glRasterPos2sv_p
   glRasterPos2sv_s
   glRasterPos3d
   glRasterPos3dv_c
   glRasterPos3dv_p
   glRasterPos3dv_s
   glRasterPos3f
   glRasterPos3fv_c
   glRasterPos3fv_p
   glRasterPos3fv_s
   glRasterPos3i
   glRasterPos3iv_c
   glRasterPos3iv_p
   glRasterPos3iv_s
   glRasterPos3s
   glRasterPos3sv_c
   glRasterPos3sv_p
   glRasterPos3sv_s
   glRasterPos4d
   glRasterPos4dv_c
   glRasterPos4dv_p
   glRasterPos4dv_s
   glRasterPos4f
   glRasterPos4fv_c
   glRasterPos4fv_p
   glRasterPos4fv_s
   glRasterPos4i
   glRasterPos4iv_c
   glRasterPos4iv_p
   glRasterPos4iv_s
   glRasterPos4s
   glRasterPos4sv_c
   glRasterPos4sv_p
   glRasterPos4sv_s
   glReadBuffer
   glReadPixels_c
   glReadPixels_p
   glReadPixels_s
   glRectd
   glRectdv_c
   glRectdv_s
   glRectf
   glRectfv_c
   glRectfv_s
   glRecti
   glRectiv_c
   glRectiv_s
   glRects
   glRectsv_c
   glRectsv_s
   glRenderMode
   glRenderbufferStorageEXT
   glResizeBuffersMESA
   glRotated
   glRotatef
   glSampleCoverageARB
   glScaled
   glScalef
   glScissor
   glSelectBuffer_c
   glShadeModel
   glShaderSourceARB_c
   glShaderSourceARB_p
   glStencilFunc
   glStencilMask
   glStencilOp
   glTexCoord1d
   glTexCoord1dv_c
   glTexCoord1dv_p
   glTexCoord1dv_s
   glTexCoord1f
   glTexCoord1fv_c
   glTexCoord1fv_p
   glTexCoord1fv_s
   glTexCoord1i
   glTexCoord1iv_c
   glTexCoord1iv_p
   glTexCoord1iv_s
   glTexCoord1s
   glTexCoord1sv_c
   glTexCoord1sv_p
   glTexCoord1sv_s
   glTexCoord2d
   glTexCoord2dv_c
   glTexCoord2dv_p
   glTexCoord2dv_s
   glTexCoord2f
   glTexCoord2fv_c
   glTexCoord2fv_p
   glTexCoord2fv_s
   glTexCoord2i
   glTexCoord2iv_c
   glTexCoord2iv_p
   glTexCoord2iv_s
   glTexCoord2s
   glTexCoord2sv_c
   glTexCoord2sv_p
   glTexCoord2sv_s
   glTexCoord3d
   glTexCoord3dv_c
   glTexCoord3dv_p
   glTexCoord3dv_s
   glTexCoord3f
   glTexCoord3fv_c
   glTexCoord3fv_p
   glTexCoord3fv_s
   glTexCoord3i
   glTexCoord3iv_c
   glTexCoord3iv_p
   glTexCoord3iv_s
   glTexCoord3s
   glTexCoord3sv_c
   glTexCoord3sv_p
   glTexCoord3sv_s
   glTexCoord4d
   glTexCoord4dv_c
   glTexCoord4dv_p
   glTexCoord4dv_s
   glTexCoord4f
   glTexCoord4fv_c
   glTexCoord4fv_p
   glTexCoord4fv_s
   glTexCoord4i
   glTexCoord4iv_c
   glTexCoord4iv_p
   glTexCoord4iv_s
   glTexCoord4s
   glTexCoord4sv_c
   glTexCoord4sv_p
   glTexCoord4sv_s
   glTexCoordPointerEXT_c
   glTexCoordPointerEXT_p
   glTexCoordPointerEXT_s
   glTexCoordPointer_c
   glTexEnvf
   glTexEnvfv_p
   glTexEnvfv_s
   glTexEnvi
   glTexEnviv_p
   glTexEnviv_s
   glTexGend
   glTexGendv_c
   glTexGendv_p
   glTexGendv_s
   glTexGenf
   glTexGenfv_c
   glTexGenfv_p
   glTexGenfv_s
   glTexGeni
   glTexGeniv_c
   glTexGeniv_p
   glTexGeniv_s
   glTexImage1D_c
   glTexImage1D_p
   glTexImage1D_s
   glTexImage2D_c
   glTexImage2D_p
   glTexImage2D_s
   glTexImage3DEXT_c
   glTexImage3DEXT_p
   glTexImage3DEXT_s
   glTexImage3D_c
   glTexImage3D_p
   glTexImage3D_s
   glTexParameterf
   glTexParameterfv_c
   glTexParameterfv_p
   glTexParameterfv_s
   glTexParameteri
   glTexParameteriv_c
   glTexParameteriv_p
   glTexParameteriv_s
   glTexSubImage1DEXT_c
   glTexSubImage1DEXT_p
   glTexSubImage1DEXT_s
   glTexSubImage1D_c
   glTexSubImage1D_p
   glTexSubImage1D_s
   glTexSubImage2DEXT_c
   glTexSubImage2DEXT_p
   glTexSubImage2DEXT_s
   glTexSubImage2D_c
   glTexSubImage2D_p
   glTexSubImage2D_s
   glTexSubImage3D_c
   glTexSubImage3D_p
   glTexSubImage3D_s
   glTranslated
   glTranslatef
   glUniform1fARB
   glUniform1fvARB_c
   glUniform1fvARB_p
   glUniform1fvARB_s
   glUniform1iARB
   glUniform1ivARB_c
   glUniform1ivARB_p
   glUniform1ivARB_s
   glUniform2fARB
   glUniform2fvARB_c
   glUniform2fvARB_p
   glUniform2fvARB_s
   glUniform2iARB
   glUniform2ivARB_c
   glUniform2ivARB_p
   glUniform2ivARB_s
   glUniform3fARB
   glUniform3fvARB_c
   glUniform3fvARB_p
   glUniform3fvARB_s
   glUniform3iARB
   glUniform3ivARB_c
   glUniform3ivARB_p
   glUniform3ivARB_s
   glUniform4fARB
   glUniform4fvARB_c
   glUniform4fvARB_p
   glUniform4fvARB_s
   glUniform4iARB
   glUniform4ivARB_c
   glUniform4ivARB_p
   glUniform4ivARB_s
   glUniformMatrix2fvARB_c
   glUniformMatrix2fvARB_p
   glUniformMatrix2fvARB_s
   glUniformMatrix3fvARB_c
   glUniformMatrix3fvARB_p
   glUniformMatrix3fvARB_s
   glUniformMatrix4fvARB_c
   glUniformMatrix4fvARB_p
   glUniformMatrix4fvARB_s
   glUnmapBufferARB
   glUseProgramObjectARB
   glValidateProgramARB
   glVertex2d
   glVertex2dv_c
   glVertex2dv_p
   glVertex2dv_s
   glVertex2f
   glVertex2fv_c
   glVertex2fv_p
   glVertex2fv_s
   glVertex2i
   glVertex2iv_c
   glVertex2iv_p
   glVertex2iv_s
   glVertex2s
   glVertex2sv_c
   glVertex2sv_p
   glVertex2sv_s
   glVertex3d
   glVertex3dv_c
   glVertex3dv_p
   glVertex3dv_s
   glVertex3f
   glVertex3fv_c
   glVertex3fv_p
   glVertex3fv_s
   glVertex3i
   glVertex3iv_c
   glVertex3iv_p
   glVertex3iv_s
   glVertex3s
   glVertex3sv_c
   glVertex3sv_p
   glVertex3sv_s
   glVertex4d
   glVertex4dv_c
   glVertex4dv_p
   glVertex4dv_s
   glVertex4f
   glVertex4fv_c
   glVertex4fv_p
   glVertex4fv_s
   glVertex4i
   glVertex4iv_c
   glVertex4iv_p
   glVertex4iv_s
   glVertex4s
   glVertex4sv_c
   glVertex4sv_p
   glVertex4sv_s
   glVertexAttrib1dARB
   glVertexAttrib1dvARB_c
   glVertexAttrib1dvARB_p
   glVertexAttrib1dvARB_s
   glVertexAttrib1fARB
   glVertexAttrib1fvARB_c
   glVertexAttrib1fvARB_p
   glVertexAttrib1fvARB_s
   glVertexAttrib1sARB
   glVertexAttrib1svARB_c
   glVertexAttrib1svARB_p
   glVertexAttrib1svARB_s
   glVertexAttrib2dARB
   glVertexAttrib2dvARB_c
   glVertexAttrib2dvARB_p
   glVertexAttrib2dvARB_s
   glVertexAttrib2fARB
   glVertexAttrib2fvARB_c
   glVertexAttrib2fvARB_p
   glVertexAttrib2fvARB_s
   glVertexAttrib2sARB
   glVertexAttrib2svARB_c
   glVertexAttrib2svARB_p
   glVertexAttrib2svARB_s
   glVertexAttrib3dARB
   glVertexAttrib3dvARB_c
   glVertexAttrib3dvARB_p
   glVertexAttrib3dvARB_s
   glVertexAttrib3fARB
   glVertexAttrib3fvARB_c
   glVertexAttrib3fvARB_p
   glVertexAttrib3fvARB_s
   glVertexAttrib3sARB
   glVertexAttrib3svARB_c
   glVertexAttrib3svARB_p
   glVertexAttrib3svARB_s
   glVertexAttrib4NbvARB_c
   glVertexAttrib4NbvARB_p
   glVertexAttrib4NbvARB_s
   glVertexAttrib4NivARB_c
   glVertexAttrib4NivARB_p
   glVertexAttrib4NivARB_s
   glVertexAttrib4NsvARB_c
   glVertexAttrib4NsvARB_p
   glVertexAttrib4NsvARB_s
   glVertexAttrib4NubARB
   glVertexAttrib4NubvARB_c
   glVertexAttrib4NubvARB_p
   glVertexAttrib4NubvARB_s
   glVertexAttrib4NuivARB_c
   glVertexAttrib4NuivARB_p
   glVertexAttrib4NuivARB_s
   glVertexAttrib4NusvARB_c
   glVertexAttrib4NusvARB_p
   glVertexAttrib4NusvARB_s
   glVertexAttrib4bvARB_c
   glVertexAttrib4bvARB_p
   glVertexAttrib4bvARB_s
   glVertexAttrib4dARB
   glVertexAttrib4dvARB_c
   glVertexAttrib4dvARB_p
   glVertexAttrib4dvARB_s
   glVertexAttrib4fARB
   glVertexAttrib4fvARB_c
   glVertexAttrib4fvARB_p
   glVertexAttrib4fvARB_s
   glVertexAttrib4ivARB_c
   glVertexAttrib4ivARB_p
   glVertexAttrib4ivARB_s
   glVertexAttrib4sARB
   glVertexAttrib4svARB_c
   glVertexAttrib4svARB_p
   glVertexAttrib4svARB_s
   glVertexAttrib4ubvARB_c
   glVertexAttrib4ubvARB_p
   glVertexAttrib4ubvARB_s
   glVertexAttrib4uivARB_c
   glVertexAttrib4uivARB_p
   glVertexAttrib4uivARB_s
   glVertexAttrib4usvARB_c
   glVertexAttrib4usvARB_p
   glVertexAttrib4usvARB_s
   glVertexAttribPointerARB_c
   glVertexPointerEXT_c
   glVertexPointerEXT_p
   glVertexPointerEXT_s
   glVertexPointer_c
   glVertexPointer_p
   glVertexPointer_s
   glViewport
   glWindowPos2dMESA
   glWindowPos2iMESA
   glWindowPos3dMESA
   glWindowPos3iMESA
   glWindowPos4dMESA
   glWindowPos4iMESA
 
   glpCheckExtension
   glpFullScreen
   glpHasGLUT
   glpRestoreScreen
 
 

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/FreeGLUT instead.
   XPending
   glXSwapBuffers
   glpXNextEvent
   glpXQueryPointer
 
   glpcOpenWindow        (Not exported, must use fully qualified package name)
 
 

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
   gluLookAt
   gluOrtho2D
   gluPerspective
 
 

Perl GL access shortcuts

   glpClipPlane
   glpDisplay
   glpFlush
   glpFullScreen
   glpGetClipPlane
   glpLoadMatrixd
   glpLoadMatrixf
   glpMainLoop
   glpMoveResizeWindow
   glpMoveWindow
   glpMultMatrixd
   glpMultMatrixf
   glpOpenWindow
   glpPrintString        (from PDL)
   glpRasterFont         (from PDL)
   glpReadTex
   glpResizeWindow
   glpRestoreScreen
   glpSetDebug           (from PDL)
   glpSolidSphere
   glpXNextEvent
   glpXQueryPointer
 
 

glpOpenWindow() provides the preferred interface to glpcOpenWindow(). Both these functions have a special (mis)feature to handle cases when one does not need double buffering: if no GLX_DOUBLEBUFFER is specified, and creation of a ``visual'' fails, the creation is retried with GLX_DOUBLEBUFFER specified (to make it easier to support implementation which do not have SINGLEBUFFER visuals - which is typical on Suns).

Since ``finishing drawing'' with and without GLX_DOUBLEBUFFER should be done in different ways, a convenience function glpFlush() is provided; it operates the same as glFlush() if no enable-GLX_DOUBLEBUFFER hack was need, otherwise it acts as glFlush() followed by glXSwapBuffers(). This function should be used only in the case no GLX_DOUBLEBUFFER attribute was given to glpOpenWindow().

Additionally, in absense of GLUT, glpSolidSphere() is aliased to glutSolidSphere(), to make writing simple portable backward-compatible scripts easier.

Historical Compatibility

The original OpenGL-0.4 library, written by Stan Melax, was releaseed to CPAN on 16-Feb-1996.

The OpenGL-0.5 library, by Kenneth Albanowski, was released to CPAN on 24-Apr-1999.

Ilya Zakharevich released OpenGL-0.53 on 05-Nov-2000 and and OpenGL-0.54 on 26-May-2002.

Bob Free has been responsible for the OpenGL module development starting with OpenGL-0.55 on 26-Apr-2007.

Chris Marshall has been responsible for the OpenGL module development starting with OpenGL-0.58 on 06-Sep-2009.

Compatibility with these earlier libraries is in a state of flux with with on-going work to re-integrate the Perl OpenGL module into the Perl Data Language and replacing its fork of the OpenGL-0.5.

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. No longer exports "glpcOpenWindow()".
: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 CPAN OpenGL Owner/Maintainer: Bob ``grafman'' Free - http://graphcomp.com/opengl Co-Maintainer Chris Marshall (PAUSE id CHM)

Original Author: Stan Melax

Primary author of 0.50: Kenneth Albanowski; derived from Stan's OpenGL 0.4, with pinches of Cass Everitt's OpenGL work.

Copyright (c) 1998,1999 Kenneth Albanowski. All rights reserved.

Copyright (c) 2000 Ilya Zakharevich. All rights reserved.

Windows port: Jean-Louis Morel - http://www.bribes.org/perl/wopengl.html

Primary author of 0.55+: Bob Free; added support for 52 OpenGL extensions, including FBO, VBO and Vertex/Fragment Programs.

Copyright (c) 2007 Bob Free. All rights reserved.

Contributing developer of 0.57+: Chris Marshall: cygwin port, PDL integration, release support. Copyright (c) 2009 Christopher Marshall. All rights reserved.

MacOSX port: Sherm Pendley

FreeBSD support: Nomura-san

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

DISTRIBUTIONS

POGL Developer's Site: http://graphcomp.com/opengl

SOURCE

CPAN: http://search.cpan.org/~chm/

GIT: git://pdl.git.sourceforge.net/gitroot/pdl/pogl (Read only)

SVN: TBD

TARBALL: TBD

ZIP: TBD

WINDOWS BINARIES

PPM 5.6.x: TBD

PPM 5.8.x: TBD