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);