.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "OpenGL 3pm" .TH OpenGL 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME OpenGL \- v0.70 .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 2 \& use OpenGL qw(:all); # exports all new functionality, without \& # the OpenGL\-0.4 compatibility functions \& \& use OpenGL qw(:glfunctions :glconstants); # exports functions and \& # constants for using OpenGL, without exporting \& # GLU, GLUT, or GLX stuff. \& \& use OpenGL qw(:old); # Exports much old functionality of OpenGL 0.4 \& \& use OpenGL; # DEPRECATED! Same as above. DEPRECATED! \& \& See also: POGL Objects \& \& * OpenGL::Array \- optimized data arrays via C pointers \& \& * OpenGL::Image \- direct C pointer access to ImageMagick image cache \& \& * OpenGL::Shader \- abstracted shader interface: ARB, GLSL and Cg .Ve .SH PREREQUISITES .IX Header "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. .PP If used with OpenGL::Image, use v1.03 or higher. .SH DESCRIPTION .IX Header "DESCRIPTION" .SS "Naming convention:" .IX Subsection "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. .PP Most functions that have no pointer arguments are called identically in Perl as in C, and the same name is used. .PP 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. .PP 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. .PP 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. .SS "GLUT functions" .IX Subsection "GLUT functions" .Vb 10 \& 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 .Ve .SS "GLU functions" .IX Subsection "GLU functions" .Vb 10 \& 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 .Ve .SS "OpenGL functions" .IX Subsection "OpenGL functions" .Vb 10 \& 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 .Ve .SS "GLX functions" .IX Subsection "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. .PP .Vb 4 \& XPending (X11 only) \& glXSwapBuffers (X11 only) \& glpXNextEvent (X11 only) \& glpXQueryPointer (X11 only) \& \& glpcOpenWindow (Not exported, must use fully qualified package name) .Ve .SS "Old functions" .IX Subsection "Old functions" .Vb 10 \& 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 (X11 only) \& gluLookAt \& gluOrtho2D \& gluPerspective .Ve .SS """Perl"" GL access shortcuts" .IX Subsection """Perl"" GL access shortcuts" .Vb 10 \& glpClipPlane \& glpDisplay (X11 only) \& glpFlush \& glpFullScreen \& glpGetClipPlane \& glpLoadMatrixd \& glpLoadMatrixf \& glpMainLoop \& glpMoveResizeWindow (X11 only) \& glpMoveWindow (X11 only) \& glpMultMatrixd \& glpMultMatrixf \& glpOpenWindow (X11 only) \& glpPrintString (from PDL) \& glpRasterFont (from PDL, X11 only) \& glpReadTex \& glpResizeWindow (X11 only) \& glpRestoreScreen \& glpSetDebug (from PDL) \& glpSolidSphere \& glpXNextEvent (X11 only) \& glpXQueryPointer (X11 only) .Ve .PP \&\fBglpOpenWindow()\fR provides the preferred interface to \fBglpcOpenWindow()\fR. Both these functions have a special (mis)feature to handle cases when one does not need double buffering: if no GLX_DOUBLEBUFFER is specified, \&\fIand\fR creation of a "visual" fails, the creation is retried \fIwith\fR GLX_DOUBLEBUFFER specified (to make it easier to support implementation which do not have SINGLEBUFFER visuals \- which is typical on Suns). .PP Since "finishing drawing" with and without GLX_DOUBLEBUFFER should be done in different ways, a convenience function \fBglpFlush()\fR is provided; it operates the same as \fBglFlush()\fR if no enable\-GLX_DOUBLEBUFFER hack was need, otherwise it acts as \fBglFlush()\fR followed by \&\fBglXSwapBuffers()\fR. This function should be used only in the case no GLX_DOUBLEBUFFER attribute was given to \fBglpOpenWindow()\fR. .PP Additionally, in absence of GLUT, \fBglpSolidSphere()\fR is aliased to \&\fBglutSolidSphere()\fR, to make writing simple portable backward-compatible scripts easier. .SH "Historical Compatibility" .IX Header "Historical Compatibility" The original OpenGL\-0.4 library, written by Stan Melax, was releaseed to CPAN on 16\-Feb\-1996. .PP The OpenGL\-0.5 library, by Kenneth Albanowski, was released to CPAN on 24\-Apr\-1999. .PP Ilya Zakharevich released OpenGL\-0.53 on 05\-Nov\-2000 and and OpenGL\-0.54 on 26\-May\-2002. .PP Bob Free has been responsible for the OpenGL module development starting with OpenGL\-0.55 on 26\-Apr\-2007. .PP Chris Marshall has been responsible for the OpenGL module development starting with OpenGL\-0.58 on 06\-Sep\-2009. .PP Compatibility with these earlier libraries is in a state of flux with with on-going work to refactor the Perl OpenGL module to improve support for other GUI toolkits with Perl bindings and to update the version of OpenGL API supported. .SH EXPORTS .IX Header "EXPORTS" The following tags can be used to selectively import symbols into the main namespace. .IP :all 4 .IX Item ":all" Exports all symbols (constants and functions). .IP :functions 4 .IX Item ":functions" Exports all functions. .IP :constants 4 .IX Item ":constants" Exports all constants. .IP :glfunctions 4 .IX Item ":glfunctions" Exports all \fBgl*\fR functions. .IP :glconstants 4 .IX Item ":glconstants" Exports all symbols needed for the \fBgl*\fR functions. .IP :glufunctions 4 .IX Item ":glufunctions" Exports all \fBglu*\fR functions. .IP :gluconstants 4 .IX Item ":gluconstants" Exports all symbols needed for the \fBglu*\fR functions. .IP :glutfunctions 4 .IX Item ":glutfunctions" Exports all \fBglut*\fR functions. .IP :glutconstants 4 .IX Item ":glutconstants" Exports all symbols needed for the \fBglut*\fR functions. .IP :glxfunctions 4 .IX Item ":glxfunctions" Exports all \fBglx*\fR functions. No longer exports \f(CWglpcOpenWindow()\fR. .IP :glxconstants 4 .IX Item ":glxconstants" Exports all symbols needed for the \fBglx*\fR functions. .IP :old 4 .IX Item ":old" Exports all old functions and constants. .IP :oldfunctions 4 .IX Item ":oldfunctions" Exports all old functions. .IP :oldconstants 4 .IX Item ":oldconstants" Exports all symbols needed for the old functions. .SH AUTHORS .IX Header "AUTHORS" Primary OpenGL Maintainer Chris Marshall (PAUSE id CHM) Co-Maintainer: Bob "grafman" Free \- http://graphcomp.com/opengl .PP Original Author: Stan Melax .PP Primary author of 0.50: Kenneth Albanowski; derived from Stan's OpenGL 0.4, with pinches of Cass Everitt's OpenGL work. .PP Copyright (c) 1998,1999 Kenneth Albanowski. All rights reserved. .PP Copyright (c) 2000 Ilya Zakharevich. All rights reserved. .PP Windows port: Jean-Louis Morel \- http://www.bribes.org/perl/wopengl.html .PP Primary author of 0.55+: Bob Free; added support for 52 OpenGL extensions, including FBO, VBO and Vertex/Fragment Programs. .PP Copyright (c) 2007 Bob Free. All rights reserved. .PP Contributing developer of 0.57+: Chris Marshall: cygwin port, PDL integration, release support. Copyright (c) 2009 Christopher Marshall. All rights reserved. .PP MacOSX port: Sherm Pendley .PP FreeBSD support: Nomura-san .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH DISTRIBUTIONS .IX Header "DISTRIBUTIONS" POGL Project site: .SH "OTHER DOCUMENTATION" .IX Header "OTHER DOCUMENTATION" Documentation, tips, sample source, benchmarks and available at . .SS SOURCE .IX Subsection "SOURCE" .Vb 3 \& CPAN: http://search.cpan.org/~chm/ \& GIT: git clone git://git.code.sf.net/p/pogl/code pogl\-code (Read only) \& TARBALL: http://sourceforge.net/p/pogl/code/ci/master/tarball .Ve .SS "WINDOWS BINARIES" .IX Subsection "WINDOWS BINARIES" .Vb 2 \& For 32\-bit perls 5.8.x and later: \& ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd \& \& For 64\-bit perls 5.8.x and later: \& ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd .Ve