Advertise on this site
Brought to you by the


POGL: Portable OpenGL APIs

POGL provides interfaces to support OpenGL APIs on languages that do not support C pointers. This is handled via suffixed APIs that support native-language references:
    _c APIs provides (CPTR) interfaces for languages (eg: Perl) that provide a means to pass around C pointers.
    _s APIs provides (PACKED) string interfaces for most other languages.
    _p are portable APIs that do not require passing pointers; instead, blocks of data may be passed around via (OGA) OpenGL::Array object references.

 glAccum - 1.0
glAccum($op, $value);


 glActiveStencilFaceEXT - GL_EXT_stencil_two_side

 glActiveTexture - 1.3

 glActiveTextureARB - GL_ARB_multitexture
glActiveTextureARB($texture);


 glAlphaFragmentOp1ATI - GL_ATI_fragment_shader

 glAlphaFragmentOp2ATI - GL_ATI_fragment_shader

 glAlphaFragmentOp3ATI - GL_ATI_fragment_shader

 glAlphaFunc - 1.0
glAlphaFunc($func, $ref);


 glApplyTextureEXT - GL_EXT_light_texture

 glAreProgramsResidentNV - GL_NV_vertex_program

 glAreTexturesResident - 1.0
glAreTexturesResident_c($n, (CPTR)textures, (CPTR)residences);

glAreTexturesResident_s($n, (PACKED)textures, (PACKED)residences);

(result,@residences) = glAreTexturesResident_p(@textureIDs);


 glAreTexturesResidentEXT - GL_EXT_texture_object

 glArrayElement - 1.0
glArrayElement($i);


 glArrayElementEXT - GL_EXT_vertex_array
glArrayElementEXT($i);


 glArrayObjectATI - GL_ATI_vertex_array_object

 glAsyncMarkerSGIX - GL_SGIX_async

 glAttachObjectARB - GL_ARB_shader_objects
glAttachObjectARB($containerObj, $obj);


 glAttachShader - 2.0

 glBegin - 1.0
glBegin($mode);


 glBeginFragmentShaderATI - GL_ATI_fragment_shader

 glBeginOcclusionQueryNV - GL_NV_occlusion_query

 glBeginQuery - 1.5

 glBeginQueryARB - GL_ARB_occlusion_query

 glBeginVertexShaderEXT - GL_EXT_vertex_shader

 glBindAttribLocation - 2.0

 glBindAttribLocationARB - GL_ARB_vertex_shader
glBindAttribLocationARB($programObj, $index, $name);


 glBindBuffer - 1.5

 glBindBufferARB - GL_ARB_vertex_buffer_object
glBindBufferARB($target,$buffer);


 glBindFragmentShaderATI - GL_ATI_fragment_shader

 glBindFramebufferEXT - GL_EXT_framebuffer_object
glBindFramebufferEXT($target,$framebuffer);


 glBindLightParameterEXT - GL_EXT_vertex_shader

 glBindMaterialParameterEXT - GL_EXT_vertex_shader

 glBindParameterEXT - GL_EXT_vertex_shader

 glBindProgramARB - GL_ARB_vertex_program
glBindProgramARB($target,$program);


 glBindProgramNV - GL_NV_vertex_program

 glBindRenderbufferEXT - GL_EXT_framebuffer_object
glBindRenderbufferEXT(target,renderbuffer);


 glBindTexGenParameterEXT - GL_EXT_vertex_shader

 glBindTexture - 1.0
glBindTexture($target, $texture);


 glBindTextureEXT - GL_EXT_texture_object

 glBindTextureUnitParameterEXT - GL_EXT_vertex_shader

 glBindVertexArrayAPPLE - GL_APPLE_vertex_array_object

 glBindVertexShaderEXT - GL_EXT_vertex_shader

 glBinormal3bEXT - GL_EXT_coordinate_frame

 glBinormal3bvEXT - GL_EXT_coordinate_frame

 glBinormal3dEXT - GL_EXT_coordinate_frame

 glBinormal3dvEXT - GL_EXT_coordinate_frame

 glBinormal3fEXT - GL_EXT_coordinate_frame

 glBinormal3fvEXT - GL_EXT_coordinate_frame

 glBinormal3iEXT - GL_EXT_coordinate_frame

 glBinormal3ivEXT - GL_EXT_coordinate_frame

 glBinormal3sEXT - GL_EXT_coordinate_frame

 glBinormal3svEXT - GL_EXT_coordinate_frame

 glBinormalPointerEXT - GL_EXT_coordinate_frame

 glBitmap - 1.0
glBitmap_c($width, $height, $xorig, $yorig, $xmove, $ymove, (CPTR)bitmap);

glBitmap_s($width, $height, $xorig, $yorig, $xmove, $ymove, (PACKED)bitmap);

glBitmap_p($width, $height, $xorig, $yorig, $xmove, $ymove, @bitmap);


 glBlendColor - 1.2
glBlendColor($red, $green, $blue, $alpha);


 glBlendColorEXT - GL_EXT_blend_color
glBlendColorEXT($red, $green, $blue, $alpha);


 glBlendEquation - 1.2
glBlendEquation($mode);


 glBlendEquationEXT - GL_EXT_blend_minmax
glBlendEquationEXT($mode);


 glBlendEquationSeparate - 2.0

 glBlendEquationSeparateEXT - GL_EXT_blend_equation_separate

 glBlendFunc - 1.0
glBlendFunc($sfactor, $dfactor);


 glBlendFuncSeparate - 1.4

 glBlendFuncSeparateEXT - GL_EXT_blend_func_separate

 glBlendFuncSeparateINGR - GL_INGR_blend_func_separate

 glBufferData - 1.5

 glBufferDataARB - GL_ARB_vertex_buffer_object
glBufferDataARB_c($target,$size,(CPTR)data,$usage);

glBufferDataARB_s($target,$size,(PACKED)data,$usage);

glBufferDataARB_p($target,(OGA)data,$usage);


 glBufferSubData - 1.5

 glBufferSubDataARB - GL_ARB_vertex_buffer_object
glBufferSubDataARB_c($target,$offset,$size,(CPTR)data);

glBufferSubDataARB_s($target,$offset,$size,(PACKED)data);

glBufferSubDataARB_p($target,$offset,(OGA)data);


 glCallList - 1.0
glCallList($list);


 glCallLists - 1.0
glCallLists_c($n, $type, (CPTR)lists);

glCallLists_s($n, $type, (PACKED)lists);

glCallLists_p(@lists);
Assumes GLint type


 glCheckFramebufferStatusEXT - GL_EXT_framebuffer_object
glCheckFramebufferStatusEXT($target);


 glClampColorARB - GL_ARB_color_buffer_float
glClampColorARB($target,$clamp);


 glClear - 1.0
glClear($mask);


 glClearAccum - 1.0
glClearAccum($red, $green, $blue, $alpha);


 glClearColor - 1.0
glClearColor($red, $green, $blue, $alpha);


 glClearDepth - 1.0
glClearDepth($depth);


 glClearIndex - 1.0
glClearIndex($c);


 glClearStencil - 1.0
glClearStencil($s);


 glClientActiveTexture - 1.3

 glClientActiveTextureARB - GL_ARB_multitexture
glClientActiveTextureARB($texture);


 glClientActiveVertexStreamATI - GL_ATI_vertex_streams

 glClipPlane - 1.0
glClipPlane_c($plane, (CPTR)eqn);

glClipPlane_s($plane, (PACKED)eqn);

glClipPlane_p($plane, $eqn0, $eqn1, $eqn2, $eqn3);


 glColor3b - 1.0
glColor3b($red, $green, $blue);


 glColor3bv - 1.0
glColor3bv_c((CPTR)v);

glColor3bv_s((PACKED)v);

glColor3bv_p($red, $green, $blue, $alpha);


 glColor3d - 1.0
glColor3d($red, $green, $blue);


 glColor3dv - 1.0
glColor3dv_c((CPTR)v);

glColor3dv_s((PACKED)v);

glColor3dv_p($red, $green, $blue, $alpha);


 glColor3f - 1.0
glColor3f($red, $green, $blue);


 glColor3fVertex3fSUN - GL_SUN_vertex

 glColor3fVertex3fvSUN - GL_SUN_vertex

 glColor3fv - 1.0
glColor3fv_c((CPTR)v);

glColor3fv_s((PACKED)v);

glColor3fv_p($red, $green, $blue, $alpha);


 glColor3hNV - GL_NV_half_float

 glColor3hvNV - GL_NV_half_float

 glColor3i - 1.0
glColor3i($red, $green, $blue);


 glColor3iv - 1.0
glColor3iv_c((CPTR)v);

glColor3iv_s((PACKED)v);

glColor3iv_p($red, $green, $blue, $alpha);


 glColor3s - 1.0
glColor3s($red, $green, $blue);


 glColor3sv - 1.0
glColor3sv_c((CPTR)v);

glColor3sv_s((PACKED)v);

glColor3sv_p($red, $green, $blue, $alpha);


 glColor3ub - 1.0
glColor3ub($red, $green, $blue);


 glColor3ubv - 1.0
glColor3ubv_c((CPTR)v);

glColor3ubv_s((PACKED)v);

glColor3ubv_p($red, $green, $blue, $alpha);


 glColor3ui - 1.0
glColor3ui($red, $green, $blue);


 glColor3uiv - 1.0
glColor3uiv_c((CPTR)v);

glColor3uiv_s((PACKED)v);

glColor3uiv_p($red, $green, $blue, $alpha);


 glColor3us - 1.0
glColor3us($red, $green, $blue);


 glColor3usv - 1.0
glColor3usv_c((CPTR)v);

glColor3usv_s((PACKED)v);

glColor3usv_p($red, $green, $blue, $alpha);


 glColor4b - 1.0
glColor4b($red, $green, $blue, $alpha);


 glColor4bv - 1.0
glColor4bv_c((CPTR)v);

glColor4bv_s((PACKED)v);


 glColor4d - 1.0
glColor4d($red, $green, $blue, $alpha);


 glColor4dv - 1.0
glColor4dv_c((CPTR)v);

glColor4dv_s((PACKED)v);


 glColor4f - 1.0
glColor4f($red, $green, $blue, $alpha);


 glColor4fNormal3fVertex3fSUN - GL_SUN_vertex

 glColor4fNormal3fVertex3fvSUN - GL_SUN_vertex

 glColor4fv - 1.0
glColor4fv_c((CPTR)v);

glColor4fv_s((PACKED)v);


 glColor4hNV - GL_NV_half_float

 glColor4hvNV - GL_NV_half_float

 glColor4i - 1.0
glColor4i($red, $green, $blue, $alpha);


 glColor4iv - 1.0
glColor4iv_c((CPTR)v);

glColor4iv_s((PACKED)v);


 glColor4s - 1.0
glColor4s($red, $green, $blue, $alpha);


 glColor4sv - 1.0
glColor4sv_c((CPTR)v);

glColor4sv_s((PACKED)v);


 glColor4ub - 1.0
glColor4ub(red, green, blue, alpha);


 glColor4ubVertex2fSUN - GL_SUN_vertex

 glColor4ubVertex2fvSUN - GL_SUN_vertex

 glColor4ubVertex3fSUN - GL_SUN_vertex

 glColor4ubVertex3fvSUN - GL_SUN_vertex

 glColor4ubv - 1.0
glColor4ubv_c((CPTR)v);

glColor4ubv_s((PACKED)v);


 glColor4ui - 1.0
glColor4ui($red, $green, $blue, $alpha);


 glColor4uiv - 1.0
glColor4uiv_c((CPTR)v);

glColor4uiv_s((PACKED)v);


 glColor4us - 1.0
glColor4us($red, $green, $blue, $alpha);


 glColor4usv - 1.0
glColor4usv_c((CPTR)v);

glColor4usv_s((PACKED)v);


 glColorFragmentOp1ATI - GL_ATI_fragment_shader

 glColorFragmentOp2ATI - GL_ATI_fragment_shader

 glColorFragmentOp3ATI - GL_ATI_fragment_shader

 glColorMask - 1.0
glColorMask($red, $green, $blue, $alpha);


 glColorMaterial - 1.0
glColorMaterial($face, $mode);


 glColorPointer - 1.0
glColorPointer_c($size, $type, $stride, (CPTR)pointer);

glColorPointer_s($size, $type, $stride, (PACKED)pointer);

glColorPointer_p($size, $type, $stride, (OGA)pointer);


 glColorPointerEXT - GL_EXT_vertex_array
glColorPointerEXT_c($size, $type, $stride, $count, (CPTR)pointer);

glColorPointerEXT_s($size, $type, $stride, $count, (PACKED)pointer);

glColorPointerEXT_p($size, (OGA)pointer);


 glColorPointerListIBM - GL_IBM_vertex_array_lists

 glColorPointervINTEL - GL_INTEL_parallel_arrays

 glColorSubTable - 1.2

 glColorSubTableEXT - GL_EXT_color_subtable

 glColorTable - 1.2

 glColorTableEXT - GL_EXT_paletted_texture

 glColorTableParameterfv - 1.2

 glColorTableParameterfvSGI - GL_SGI_color_table

 glColorTableParameteriv - 1.2

 glColorTableParameterivSGI - GL_SGI_color_table

 glColorTableSGI - GL_SGI_color_table

 glCombinerInputNV - GL_NV_register_combiners

 glCombinerOutputNV - GL_NV_register_combiners

 glCombinerParameterfNV - GL_NV_register_combiners

 glCombinerParameterfvNV - GL_NV_register_combiners

 glCombinerParameteriNV - GL_NV_register_combiners

 glCombinerParameterivNV - GL_NV_register_combiners

 glCombinerStageParameterfvNV - GL_NV_register_combiners2

 glCompileShader - 2.0

 glCompileShaderARB - GL_ARB_shader_objects
glCompileShaderARB($shaderObj);


 glCompressedTexImage1D - 1.3

 glCompressedTexImage1DARB - GL_ARB_texture_compression

 glCompressedTexImage2D - 1.3

 glCompressedTexImage2DARB - GL_ARB_texture_compression

 glCompressedTexImage3D - 1.3

 glCompressedTexImage3DARB - GL_ARB_texture_compression

 glCompressedTexSubImage1D - 1.3

 glCompressedTexSubImage1DARB - GL_ARB_texture_compression

 glCompressedTexSubImage2D - 1.3

 glCompressedTexSubImage2DARB - GL_ARB_texture_compression

 glCompressedTexSubImage3D - 1.3

 glCompressedTexSubImage3DARB - GL_ARB_texture_compression

 glConvolutionFilter1D - 1.2

 glConvolutionFilter1DEXT - GL_EXT_convolution

 glConvolutionFilter2D - 1.2

 glConvolutionFilter2DEXT - GL_EXT_convolution

 glConvolutionParameterf - 1.2

 glConvolutionParameterfEXT - GL_EXT_convolution

 glConvolutionParameterfv - 1.2

 glConvolutionParameterfvEXT - GL_EXT_convolution

 glConvolutionParameteri - 1.2

 glConvolutionParameteriEXT - GL_EXT_convolution

 glConvolutionParameteriv - 1.2

 glConvolutionParameterivEXT - GL_EXT_convolution

 glCopyColorSubTable - 1.2

 glCopyColorSubTableEXT - GL_EXT_color_subtable

 glCopyColorTable - 1.2

 glCopyColorTableSGI - GL_SGI_color_table

 glCopyConvolutionFilter1D - 1.2

 glCopyConvolutionFilter1DEXT - GL_EXT_convolution

 glCopyConvolutionFilter2D - 1.2

 glCopyConvolutionFilter2DEXT - GL_EXT_convolution

 glCopyPixels - 1.0
glCopyPixels($x, $y, $width, $height, $type);


 glCopyTexImage1D - 1.0
glCopyTexImage1D($target, $level, $internalFormat, $x, $y, $width, $border);


 glCopyTexImage1DEXT - GL_EXT_copy_texture

 glCopyTexImage2D - 1.0
glCopyTexImage2D($target, $level, $internalFormat, $x, $y, $width, $height, $border);


 glCopyTexImage2DEXT - GL_EXT_copy_texture

 glCopyTexSubImage1D - 1.0
glCopyTexSubImage1D($target, $level, $xoffset, $x, $y, $width);


 glCopyTexSubImage1DEXT - GL_EXT_copy_texture

 glCopyTexSubImage2D - 1.0
glCopyTexSubImage2D($target, $level, $xoffset, $yoffset, $x, $y, $width, $height);


 glCopyTexSubImage2DEXT - GL_EXT_copy_texture

 glCopyTexSubImage3D - 1.2
glCopyTexSubImage3D($target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);


 glCopyTexSubImage3DEXT - GL_EXT_copy_texture

 glCreateProgram - 2.0

 glCreateProgramObjectARB - GL_ARB_shader_objects
$obj = glCreateProgramObjectARB();


 glCreateShader - 2.0

 glCreateShaderObjectARB - GL_ARB_shader_objects
glCreateShaderObjectARB($shaderType);


 glCullFace - 1.0
glCullFace($mode);


 glCullParameterdvEXT - GL_EXT_cull_vertex

 glCullParameterfvEXT - GL_EXT_cull_vertex

 glCurrentPaletteMatrixARB - GL_ARB_matrix_palette

 glDeformSGIX - GL_SGIX_polynomial_ffd

 glDeformationMap3dSGIX - GL_SGIX_polynomial_ffd

 glDeformationMap3fSGIX - GL_SGIX_polynomial_ffd

 glDeleteAsyncMarkersSGIX - GL_SGIX_async

 glDeleteBuffers - 1.5

 glDeleteBuffersARB - GL_ARB_vertex_buffer_object
glDeleteBuffersARB_c($n,(CPTR)buffers);

glDeleteBuffersARB_s($n,(PACKED)buffers);

glDeleteBuffersARB_p(@buffers);


 glDeleteFencesAPPLE - GL_APPLE_fence

 glDeleteFencesNV - GL_NV_fence

 glDeleteFragmentShaderATI - GL_ATI_fragment_shader

 glDeleteFramebuffersEXT - GL_EXT_framebuffer_object
glDeleteFramebuffersEXT_c($n,(CPTR)framebuffers);

glDeleteFramebuffersEXT_s($n,(PACKED)framebuffers);

glDeleteFramebuffersEXT_p(@framebuffers);


 glDeleteLists - 1.0
glDeleteLists($list, $range);


 glDeleteObjectARB - GL_ARB_shader_objects
glDeleteObjectARB($obj);


 glDeleteOcclusionQueriesNV - GL_NV_occlusion_query

 glDeleteProgram - 2.0

 glDeleteProgramsARB - GL_ARB_vertex_program
glDeleteProgramsARB_c($n,(PACKED)programs);

glDeleteProgramsARB_p(@programIDs);


 glDeleteProgramsNV - GL_NV_vertex_program

 glDeleteQueries - 1.5

 glDeleteQueriesARB - GL_ARB_occlusion_query

 glDeleteRenderbuffersEXT - GL_EXT_framebuffer_object
glDeleteRenderbuffersEXT_c($n,(CPTR)renderbuffers);

glDeleteRenderbuffersEXT_s($n,(PACKED)renderbuffers);

glDeleteRenderbuffersEXT_p(@renderbuffers);


 glDeleteShader - 2.0

 glDeleteTextures - 1.0
glDeleteTextures_c($items, (CPTR)list);

glDeleteTextures_s($items, (PACKED)list);

glDeleteTextures_p(@textureIDs);


 glDeleteTexturesEXT - GL_EXT_texture_object

 glDeleteVertexArraysAPPLE - GL_APPLE_vertex_array_object

 glDeleteVertexShaderEXT - GL_EXT_vertex_shader

 glDepthBoundsEXT - GL_EXT_depth_bounds_test

 glDepthFunc - 1.0
glDepthFunc($func);


 glDepthMask - 1.0
glDepthMask($flag);


 glDepthRange - 1.0
glDepthRange($zNear, $zFar);


 glDetachObjectARB - GL_ARB_shader_objects
glDetachObjectARB($containerObj, $attachedObj);


 glDetachShader - 2.0

 glDetailTexFuncSGIS - GL_SGIS_detail_texture

 glDisable - 1.0
glDisable($cap);


 glDisableClientState - 1.0
glDisableClientState($cap);


 glDisableVariantClientStateEXT - GL_EXT_vertex_shader

 glDisableVertexAttribArray - 2.0

 glDisableVertexAttribArrayARB - GL_ARB_vertex_program
glDisableVertexAttribArrayARB($index);


 glDrawArrays - 1.0
glDrawArrays($mode, $first, $count);


 glDrawArraysEXT - GL_EXT_vertex_array
glDrawArraysEXT($mode, $first, $count);


 glDrawBuffer - 1.0
glDrawBuffer($mode);


 glDrawBuffers - 2.0
glDrawBuffers_c($n,(CPTR)buffers);

glDrawBuffers_s($n,(PACKED)buffers);

glDrawBuffers_p(@buffers);


 glDrawBuffersARB - GL_ARB_draw_buffers
glDrawBuffersARB_c($n,(CPTR)buffers);

glDrawBuffersARB_s($n,(PACKED)buffers);

glDrawBuffersARB_p(@buffers);


 glDrawBuffersATI - GL_ATI_draw_buffers

 glDrawElementArrayAPPLE - GL_APPLE_element_array

 glDrawElementArrayATI - GL_ATI_element_array

 glDrawElements - 1.0
glDrawElements_c($mode, $count, $type, (CPTR)indices);

glDrawElements_s($mode, $count, $type, (PACKED)indices);

glDrawElements_p($mode, @indices);
Assumes GLuint for indices


 glDrawMeshArraysSUN - GL_SUN_mesh_array

 glDrawPixels - 1.0
glDrawPixels_c($width, $height, $format, $type, (CPTR)pixels);

glDrawPixels_s($width, $height, $format, $type, (PACKED)pixels);

glDrawPixels_p($width, $height, $format, $type, @pixels);


 glDrawRangeElementArrayAPPLE - GL_APPLE_element_array

 glDrawRangeElementArrayATI - GL_ATI_element_array

 glDrawRangeElements - 1.2
glDrawRangeElements_c($mode, $start, $end, $count, $type, (CPTR)indices);

glDrawRangeElements_s($mode, $start, $end, $count, $type, (PACKED)indices);

glDrawRangeElements_p($mode, $start, $end, $count, $type, @indices);
Assumes GLuint indices


 glDrawRangeElementsEXT - GL_EXT_draw_range_elements

 glEdgeFlag - 1.0
glEdgeFlag($flag);


 glEdgeFlagPointer - 1.0
glEdgeFlagPointer_c($stride, (CPTR)pointer);

glEdgeFlagPointer_s($stride, (PACKED)pointer);

glEdgeFlagPointer_p($stride, (OGA)pointer);


 glEdgeFlagPointerEXT - GL_EXT_vertex_array
glEdgeFlagPointerEXT_c($stride, $count, (CPTR)pointer);

glEdgeFlagPointerEXT_s($stride, $count, (PACKED)pointer);

glEdgeFlagPointerEXT_p((OGA)pointer);


 glEdgeFlagPointerListIBM - GL_IBM_vertex_array_lists

 glEdgeFlagv - 1.0

 glElementPointerAPPLE - GL_APPLE_element_array

 glElementPointerATI - GL_ATI_element_array

 glEnable - 1.0
glEnable($cap);


 glEnableClientState - 1.0
glEnableClientState($cap);


 glEnableVariantClientStateEXT - GL_EXT_vertex_shader

 glEnableVertexAttribArray - 2.0

 glEnableVertexAttribArrayARB - GL_ARB_vertex_program
glEnableVertexAttribArrayARB($index);


 glEnd - 1.0

 glEndFragmentShaderATI - GL_ATI_fragment_shader

 glEndList - 1.0
glEndList();


 glEndOcclusionQueryNV - GL_NV_occlusion_query

 glEndQuery - 1.5

 glEndQueryARB - GL_ARB_occlusion_query

 glEndVertexShaderEXT - GL_EXT_vertex_shader

 glEvalCoord1d - 1.0
glEvalCoord1d($u);


 glEvalCoord1dv - 1.0

 glEvalCoord1f - 1.0
glEvalCoord1f($u);


 glEvalCoord1fv - 1.0

 glEvalCoord2d - 1.0
glEvalCoord2d($u, $v);


 glEvalCoord2dv - 1.0

 glEvalCoord2f - 1.0
glEvalCoord2f($u, $v);


 glEvalCoord2fv - 1.0

 glEvalMapsNV - GL_NV_evaluators

 glEvalMesh1 - 1.0
glEvalMesh1($mode, $i1, $i2);


 glEvalMesh2 - 1.0
glEvalMesh2($mode, $i1, $i2, $j1, $j2);


 glEvalPoint1 - 1.0
glEvalPoint1($i);


 glEvalPoint2 - 1.0
glEvalPoint2($i, $j);


 glExecuteProgramNV - GL_NV_vertex_program

 glExtractComponentEXT - GL_EXT_vertex_shader

 glFeedbackBuffer - 1.0
glFeedbackBuffer_c($size, $type, (CPTR)buffer);


 glFinalCombinerInputNV - GL_NV_register_combiners

 glFinish - 1.0
glFinish();


 glFinishAsyncSGIX - GL_SGIX_async

 glFinishFenceAPPLE - GL_APPLE_fence

 glFinishFenceNV - GL_NV_fence

 glFinishObjectAPPLE - GL_APPLE_fence

 glFinishTextureSUNX - GL_SUNX_constant_data

 glFlush - 1.0
glFlush();


 glFlushPixelDataRangeNV - GL_NV_pixel_data_range

 glFlushRasterSGIX - GL_SGIX_flush_raster

 glFlushVertexArrayRangeAPPLE - GL_APPLE_vertex_array_range

 glFlushVertexArrayRangeNV - GL_NV_vertex_array_range

 glFogCoordPointer - 1.4

 glFogCoordPointerEXT - GL_EXT_fog_coord

 glFogCoordPointerListIBM - GL_IBM_vertex_array_lists

 glFogCoordd - 1.4

 glFogCoorddEXT - GL_EXT_fog_coord

 glFogCoorddv - 1.4

 glFogCoorddvEXT - GL_EXT_fog_coord

 glFogCoordf - 1.4

 glFogCoordfEXT - GL_EXT_fog_coord

 glFogCoordfv - 1.4

 glFogCoordfvEXT - GL_EXT_fog_coord

 glFogCoordhNV - GL_NV_half_float

 glFogCoordhvNV - GL_NV_half_float

 glFogFuncSGIS - GL_SGIS_fog_function

 glFogf - 1.0
glFogf($pname, $param);


 glFogfv - 1.0
glFogfv_c($pname, (CPTR)params);

glFogfv_s($pname, (PACKED)params);

glFogfv_p($pname, $param1, $param2=0, $param3=0, $param4=0);


 glFogi - 1.0
glFogi($pname, $param);


 glFogiv - 1.0
glFogiv_c($pname, (CPTR)params);

glFogiv_s($pname, (PACKED)params);

glFogiv_p($pname, $param1, $param2=0, $param3=0, $param4=0);


 glFragmentColorMaterialSGIX - GL_SGIX_fragment_lighting

 glFragmentLightModelfSGIX - GL_SGIX_fragment_lighting

 glFragmentLightModelfvSGIX - GL_SGIX_fragment_lighting

 glFragmentLightModeliSGIX - GL_SGIX_fragment_lighting

 glFragmentLightModelivSGIX - GL_SGIX_fragment_lighting

 glFragmentLightfSGIX - GL_SGIX_fragment_lighting

 glFragmentLightfvSGIX - GL_SGIX_fragment_lighting

 glFragmentLightiSGIX - GL_SGIX_fragment_lighting

 glFragmentLightivSGIX - GL_SGIX_fragment_lighting

 glFragmentMaterialfSGIX - GL_SGIX_fragment_lighting

 glFragmentMaterialfvSGIX - GL_SGIX_fragment_lighting

 glFragmentMaterialiSGIX - GL_SGIX_fragment_lighting

 glFragmentMaterialivSGIX - GL_SGIX_fragment_lighting

 glFrameZoomSGIX - GL_SGIX_framezoom

 glFramebufferRenderbufferEXT - GL_EXT_framebuffer_object
glFramebufferRenderbufferEXT($target,$attachment,$renderbuffertarget,$renderbuffer);


 glFramebufferTexture1DEXT - GL_EXT_framebuffer_object
glFramebufferTexture1DEXT($target,$attachment,$textarget,$texture,$level);


 glFramebufferTexture2DEXT - GL_EXT_framebuffer_object
glFramebufferTexture2DEXT($target,$attachment,$textarget,$texture,$level);


 glFramebufferTexture3DEXT - GL_EXT_framebuffer_object

 glFreeObjectBufferATI - GL_ATI_vertex_array_object

 glFrontFace - 1.0
glFrontFace($mode);


 glFrustum - 1.0
glFrustum($left, $right, $bottom, $top, $zNear, $zFar);


 glGenAsyncMarkersSGIX - GL_SGIX_async

 glGenBuffers - 1.5

 glGenBuffersARB - GL_ARB_vertex_buffer_object
glGenBuffersARB_c($n,(CPTR)buffers);

glGenBuffersARB_s($n,(PACKED)buffers);

@buffers = glGenBuffersARB_p($n);


 glGenFencesAPPLE - GL_APPLE_fence

 glGenFencesNV - GL_NV_fence

 glGenFragmentShadersATI - GL_ATI_fragment_shader

 glGenFramebuffersEXT - GL_EXT_framebuffer_object
@framebuffers = glGenFramebuffersEXT_c($n);

glGenFramebuffersEXT_s($n,(PACKED)framebuffers);


 glGenLists - 1.0
glGenLists($range);


 glGenOcclusionQueriesNV - GL_NV_occlusion_query

 glGenProgramsARB - GL_ARB_vertex_program
@programIDs = glGenProgramsARB_c($n);

glGenProgramsARB_s($n,(PACKED)programs);


 glGenProgramsNV - GL_NV_vertex_program

 glGenQueries - 1.5

 glGenQueriesARB - GL_ARB_occlusion_query

 glGenRenderbuffersEXT - GL_EXT_framebuffer_object
@renderbuffers = glGenRenderbuffersEXT_c($n);

glGenRenderbuffersEXT_s($n,(PACKED)renderbuffers);


 glGenSymbolsEXT - GL_EXT_vertex_shader

 glGenTextures - 1.0
glGenTextures_c($n, (CPTR)textures);

glGenTextures_s($n, (PACKED)textures);

@textureIDs = glGenTextures_p($n);


 glGenTexturesEXT - GL_EXT_texture_object

 glGenVertexArraysAPPLE - GL_APPLE_vertex_array_object

 glGenVertexShadersEXT - GL_EXT_vertex_shader

 glGenerateMipmapEXT - GL_EXT_framebuffer_object
glGenerateMipmapEXT($target);


 glGetActiveAttrib - 2.0

 glGetActiveAttribARB - GL_ARB_vertex_shader
glGetActiveAttribARB_c($programObj, $index, $maxLength, (CPTR)length, (CPTR)size, (CPTR)type, (CPTR)name);

glGetActiveAttribARB_s($programObj, $index, $maxLength, (PACKED)length, (PACKED)size, (PACKED)type, (PACKED)name);

($name,$type,$size) = glGetActiveAttribARB_p($programObj, $index);


 glGetActiveUniform - 2.0

 glGetActiveUniformARB - GL_ARB_shader_objects
glGetActiveUniformARB_c($programObj, $index, $maxLength, (CPTR)length, (CPTR)size, (CPTR)type, (CPTR)name);

glGetActiveUniformARB_s($programObj, $index, $maxLength, (PACKED)length, (PACKED)size, (PACKED)type, (PACKED)name);

($name,$type,$size) = glGetActiveUniformARB_p($programObj, $index);


 glGetArrayObjectfvATI - GL_ATI_vertex_array_object

 glGetArrayObjectivATI - GL_ATI_vertex_array_object

 glGetAttachedObjectsARB - GL_ARB_shader_objects
glGetAttachedObjectsARB_c($containerObj, $maxCount, (CPTR)count, (CPTR)obj);

glGetAttachedObjectsARB_s($containerObj, $maxCount, (PACKED)count, (PACKED)obj);

@objs = glGetAttachedObjectsARB_p($containerObj);


 glGetAttachedShaders - 2.0

 glGetAttribLocation - 2.0

 glGetAttribLocationARB - GL_ARB_vertex_shader
glGetAttribLocationARB_c($programObj, (CPTR)name);

$value = glGetAttribLocationARB_p(programObj, $name);


 glGetBooleanv - 1.0
glGetBooleanv_c($pname, (CPTR)params);

glGetBooleanv_s($pname, (PACKED)params);

@data = glGetBooleanv_p($param);


 glGetBufferParameteriv - 1.5

 glGetBufferParameterivARB - GL_ARB_vertex_buffer_object
glGetBufferParameterivARB_c($target,$pname,(CPTR)params);

glGetBufferParameterivARB_s($target,$pname,(PACKED)params);

@params = glGetBufferParameterivARB_p($target,$pname);


 glGetBufferPointerv - 1.5

 glGetBufferPointervARB - GL_ARB_vertex_buffer_object
glGetBufferPointervARB_c($target,$pname,(CPTR)params);

glGetBufferPointervARB_s($target,$pname,(PACKED)params);

$oga = glGetBufferPointervARB_p($target,$pname,@types);
If no types are provided, GLubyte is assumed


 glGetBufferSubData - 1.5

 glGetBufferSubDataARB - GL_ARB_vertex_buffer_object
$oga = glGetBufferSubDataARB_p($target,$offset,$count,@types);
If no types are provided, GLubyte is assumed


 glGetClipPlane - 1.0
glGetClipPlane_c($plane, (CPTR)eqn);

glGetClipPlane_s($plane, (PACKED)eqn);

@data = glGetClipPlane_p($plane);


 glGetColorTable - 1.2

 glGetColorTableEXT - GL_EXT_paletted_texture

 glGetColorTableParameterfv - 1.2

 glGetColorTableParameterfvEXT - GL_EXT_paletted_texture

 glGetColorTableParameterfvSGI - GL_SGI_color_table

 glGetColorTableParameteriv - 1.2

 glGetColorTableParameterivEXT - GL_EXT_paletted_texture

 glGetColorTableParameterivSGI - GL_SGI_color_table

 glGetColorTableSGI - GL_SGI_color_table

 glGetCombinerInputParameterfvNV - GL_NV_register_combiners

 glGetCombinerInputParameterivNV - GL_NV_register_combiners

 glGetCombinerOutputParameterfvNV - GL_NV_register_combiners

 glGetCombinerOutputParameterivNV - GL_NV_register_combiners

 glGetCombinerStageParameterfvNV - GL_NV_register_combiners2

 glGetCompressedTexImage - 1.3

 glGetCompressedTexImageARB - GL_ARB_texture_compression

 glGetConvolutionFilter - 1.2

 glGetConvolutionFilterEXT - GL_EXT_convolution

 glGetConvolutionParameterfv - 1.2

 glGetConvolutionParameterfvEXT - GL_EXT_convolution

 glGetConvolutionParameteriv - 1.2

 glGetConvolutionParameterivEXT - GL_EXT_convolution

 glGetDetailTexFuncSGIS - GL_SGIS_detail_texture

 glGetDoublev - 1.0
glGetDoublev_c($pname, (PACKED)params);

@data = glGetDoublev_p($param);


 glGetError - 1.0
glGetError();


 glGetFenceivNV - GL_NV_fence

 glGetFinalCombinerInputParameterfvNV - GL_NV_register_combiners

 glGetFinalCombinerInputParameterivNV - GL_NV_register_combiners

 glGetFloatv - 1.0
glGetFloatv_c($pname, (CPTR)params);

glGetFloatv_s($pname, (PACKED)params);

@data = glGetFloatv_p($param);


 glGetFogFuncSGIS - GL_SGIS_fog_function

 glGetFragmentLightfvSGIX - GL_SGIX_fragment_lighting

 glGetFragmentLightivSGIX - GL_SGIX_fragment_lighting

 glGetFragmentMaterialfvSGIX - GL_SGIX_fragment_lighting

 glGetFragmentMaterialivSGIX - GL_SGIX_fragment_lighting

 glGetFramebufferAttachmentParameterivEXT - GL_EXT_framebuffer_object
glGetFramebufferAttachmentParameterivEXT_c($target,$attachment,$pname,(CPTR)params);

glGetFramebufferAttachmentParameterivEXT_s($target,$attachment,$pname,(PACKED)params);


 glGetHandleARB - GL_ARB_shader_objects
glGetHandleARB($pname);


 glGetHistogram - 1.2

 glGetHistogramEXT - GL_EXT_histogram

 glGetHistogramParameterfv - 1.2

 glGetHistogramParameterfvEXT - GL_EXT_histogram

 glGetHistogramParameteriv - 1.2

 glGetHistogramParameterivEXT - GL_EXT_histogram

 glGetImageTransformParameterfvHP - GL_HP_image_transform

 glGetImageTransformParameterivHP - GL_HP_image_transform

 glGetInfoLogARB - GL_ARB_shader_objects
$infoLog = glGetInfoLogARB_c($obj);


 glGetInstrumentsSGIX - GL_SGIX_instruments

 glGetIntegerv - 1.0
glGetIntegerv_c($pname, (CPTR)params);

glGetIntegerv_s($pname, (PACKED)params);

@data = glGetIntegerv_p($param);


 glGetInvariantBooleanvEXT - GL_EXT_vertex_shader

 glGetInvariantFloatvEXT - GL_EXT_vertex_shader

 glGetInvariantIntegervEXT - GL_EXT_vertex_shader

 glGetLightfv - 1.0
glGetLightfv_c($light, $pname, (CPTR)p);

glGetLightfv_s($light, $pname, (PACKED)p);

@data = glGetLightfv_p($light, $pname);


 glGetLightiv - 1.0
glGetLightiv_c($light, $pname, (CPTR)p);

glGetLightiv_s($light, $pname, (PACKED)p);

@data = glGetLightiv_p($light, $pname);


 glGetListParameterfvSGIX - GL_SGIX_list_priority

 glGetListParameterivSGIX - GL_SGIX_list_priority

 glGetLocalConstantBooleanvEXT - GL_EXT_vertex_shader

 glGetLocalConstantFloatvEXT - GL_EXT_vertex_shader

 glGetLocalConstantIntegervEXT - GL_EXT_vertex_shader

 glGetMapAttribParameterfvNV - GL_NV_evaluators

 glGetMapAttribParameterivNV - GL_NV_evaluators

 glGetMapControlPointsNV - GL_NV_evaluators

 glGetMapParameterfvNV - GL_NV_evaluators

 glGetMapParameterivNV - GL_NV_evaluators

 glGetMapdv - 1.0
glGetMapdv_c($target, $query, (CPTR)v);

glGetMapdv_s($target, $query, (PACKED)v);

@data = glGetMapdv_p($target, $query);


 glGetMapfv - 1.0
glGetMapfv_c($target, $query, (CPTR)v);

glGetMapfv_s($target, $query, (PACKED)v);

@data = glGetMapfv_p($target, $query);


 glGetMapiv - 1.0
glGetMapiv_c($target, $query, (CPTR)v);

glGetMapiv_s($target, $query, (PACKED)v);

@data = glGetMapiv_p($target, $query);


 glGetMaterialfv - 1.0
glGetMaterialfv_c($face, $query, (CPTR)params);

glGetMaterialfv_s($face, $query, (PACKED)params);

@params = glGetMaterialfv_p($face, $query);


 glGetMaterialiv - 1.0
glGetMaterialiv_c($face, $query, (CPTR)params);

glGetMaterialiv_s($face, $query, (PACKED)params);

@params = glGetMaterialiv_p($face, $query);


 glGetMinmax - 1.2

 glGetMinmaxEXT - GL_EXT_histogram

 glGetMinmaxParameterfv - 1.2

 glGetMinmaxParameterfvEXT - GL_EXT_histogram

 glGetMinmaxParameteriv - 1.2

 glGetMinmaxParameterivEXT - GL_EXT_histogram

 glGetObjectBufferfvATI - GL_ATI_vertex_array_object

 glGetObjectBufferivATI - GL_ATI_vertex_array_object

 glGetObjectParameterfvARB - GL_ARB_shader_objects
glGetObjectParameterfvARB_c($obj,$pname,(CPTR)params);

glGetObjectParameterfvARB_s($obj,$pname,(PACKED)params);

$param = glGetObjectParameterfvARB_p($obj,$pname);


 glGetObjectParameterivARB - GL_ARB_shader_objects
$param = glGetObjectParameterivARB_c($obj,$pname);

glGetObjectParameterivARB_s($obj,$pname,(PACKED)params);


 glGetOcclusionQueryivNV - GL_NV_occlusion_query

 glGetOcclusionQueryuivNV - GL_NV_occlusion_query

 glGetPixelMapfv - 1.0
glGetPixelMapfv_c($map, (CPTR)values);

glGetPixelMapfv_s($map, (PACKED)values);

@data = glGetPixelMapfv_p($map);


 glGetPixelMapuiv - 1.0
glGetPixelMapuiv_c($map, (CPTR)values);

glGetPixelMapuiv_s($map, (PACKED)values);

@data = glGetPixelMapuiv_p($map);


 glGetPixelMapusv - 1.0
glGetPixelMapusv_c($map, (CPTR)values);

glGetPixelMapusv_s($map, (PACKED)values);

@data = glGetPixelMapusv_p($map);


 glGetPixelTexGenParameterfvSGIS - GL_SGIS_pixel_texture

 glGetPixelTexGenParameterivSGIS - GL_SGIS_pixel_texture

 glGetPointerv - 1.0
glGetPointerv_c($pname, (CPTR)params);

glGetPointerv_s($pname, (PACKED)params);

@params = glGetPointerv_p($pname);


 glGetPointervEXT - GL_EXT_vertex_array

 glGetPolygonStipple - 1.0
glGetPolygonStipple_c((CPTR)mask);

glGetPolygonStipple_s((PACKED)mask);

@mask = glGetPolygonStipple_p();


 glGetProgramEnvParameterdvARB - GL_ARB_vertex_program
glGetProgramEnvParameterdvARB_c($target,$index,(CPTR)params);

glGetProgramEnvParameterdvARB_s($target,$index,(PACKED)params);

@params = glGetProgramEnvParameterdvARB_p($target,$index);


 glGetProgramEnvParameterfvARB - GL_ARB_vertex_program
glGetProgramEnvParameterfvARB_c($target,$index,(CPTR)params);

glGetProgramEnvParameterfvARB_s($target,$index,(PACKED)params);

@params = glGetProgramEnvParameterfvARB_p($target,$index);


 glGetProgramInfoLog - 2.0

 glGetProgramLocalParameterdvARB - GL_ARB_vertex_program
glGetProgramLocalParameterdvARB_c($target,$index,(CPTR)params);

glGetProgramLocalParameterdvARB_s($target,$index,(PACKED)params);

@params = glGetProgramLocalParameterdvARB_p($target,$index);


 glGetProgramLocalParameterfvARB - GL_ARB_vertex_program
glGetProgramLocalParameterfvARB_c($target,$index,(CPTR)params);

glGetProgramLocalParameterfvARB_s($target,$index,(PACKED)params);

@params = glGetProgramLocalParameterfvARB_p($target,$index);


 glGetProgramNamedParameterdvNV - GL_NV_fragment_program

 glGetProgramNamedParameterfvNV - GL_NV_fragment_program

 glGetProgramParameterdvNV - GL_NV_vertex_program

 glGetProgramParameterfvNV - GL_NV_vertex_program

 glGetProgramStringARB - GL_ARB_vertex_program
glGetProgramStringARB_c(target,pname,(CPTR)string);

glGetProgramStringARB_s(target,pname,(PACKED)string);

$string = glGetProgramStringARB_p(target[,pname]);
Defaults to GL_PROGRAM_STRING_ARB