POGL: Perl OpenGL Perl OpenGL Distributions

This is the official site for the latest Perl OpenGL updates, source and binaries.

Latest versions

  • OpenGL v0.56_04
  • OpenGL-Image v1.02
  • OpenGL-Shader v1.01

Google Bookmarks Google
Stumble Upon It! Stumbled on It!
del.icio.us del.icio.us


POGL is a Perl OpenGL binding; you need to have Perl installed to use this module.

You must have a properly configured OpenGL installation, and FreeGLUT libraries - prior to installing POGL. See Installation instructions.

FreeGLUT libraries may be downloaded from freeglut.sourceforge.net.

To use OpenGL::Image, you need to install PerlMagick v6.3.5 or newer.


Stable releases are posted on CPAN:

The latest interim source and binary updates are only posted on this site, below:

Latest Source

  • tarballs

  • ZIP files

  • SVN

      svn checkout svn://graphcomp.org/cpan/OpenGL OpenGL
      svn checkout svn://graphcomp.org/cpan/OpenGL-Image OpenGL-Image
      svn checkout svn://graphcomp.org/cpan/OpenGL-Shader OpenGL-Shader

    Windows Binaries: ActivePerl PPMs

    ActivePerl PPMs now auctomatically install FreeGLUT.

    Note: on Vista, PPM needs full write access to Perl's bin and site/lib folders, otherwise the install will fail.

    If you have a previous rev of POGL, you should uninstall it first:

      ppm uninstall OpenGL
      ppm uninstall OpenGL-Image
      ppm uninstall OpenGL-Shader

    You need to install the right PPM for your version of Perl; you can test your perl version via:

      perl -v

  • ActivePerl 5.10.x

      Currently testing - let us know if you'd like to test a pre-release version.

  • ActivePerl 5.8.x

      ppm install http://graphcomp.com/opengl/ppm58/OpenGL.ppd
      ppm install http://graphcomp.com/opengl/ppm58/OpenGL-Image.ppd
      ppm install http://graphcomp.com/opengl/ppm58/OpenGL-Shader.ppd

  • ActivePerl 5.6.x

      ppm install http://graphcomp.com/opengl/ppm56/OpenGL.ppd
      ppm install http://graphcomp.com/opengl/ppm56/OpenGL-Image.ppd
      ppm install http://graphcomp.com/opengl/ppm56/OpenGL-Shader.ppd

    Contact the POGL team, if you have problems installing POGL PPMs.

    POGL Changes - since 0.55

    OpenGL 0.56_04

    • Added OGA calc and affine functions
    • Added glpHasGPGPU
    • Added an ATI workaround for GL_ARB_shading_language_100 dependencies
    • Added VBO and FBO caching in OGAs - gl_util.h
    • Fixed gluProject and gluUnProject - was converting matrices to ints
    • Added glutSpecialUpFunc and glutWindowStatusFunc
    • Added dist option to Makefile.PL to support binary distributions
    • Switched from GLUT to FreeGLUT
    • Added FreeGLUT folder for Win32 DLLs
    • Implemented glutSetOption
    • Implemented glutGameModeString
    • Implemented glutEnterGameMode
    • Implemented glutLeaveGameMode
    • Implemented glutGameModeGet
    • Added glpFullScreen and glpRestoreScreen
    • Updated test.pl to support Game Mode
    • Implemented glutCloseFunc
    • Implemented glutLeaveMainLoop
    • Major refactoring of Makefile.PL
    • Renamed WGL interface option to W32API
    • Added help message to Makefile.PL
    • Added verbose option to Makefile.PL
    • Added documentation comments to OpenGL.xs
    • Added glpHasGLUT
    • Updated test.pl to run texhack if no GLUT
    • Added a countdown timer to examples/texhack
    • Fixed GL_X_BYTES in assign
    • Fixed vertex.glsl to work on newer nvidia cards
    • Added support for building POGL via cygwin
    • Added glutKeyboardUpFunc

    OpenGL 0.56_01

    • Updated test.pl to fix fullscreen handling
    • Fixed OpenGL.pod to reflect correct module name
    • Added FBO constants to param enums in gl_util.c
    • Implemented GL_ARB_point_parameters
    • Implemented GL_ARB_multisample
    • Implemented GL_ARB_color_buffer_float

    OpenGL 0.56

    • Updated typemap to add GLcharARB and GLhandleARB
    • Implemented GL_EXT_texture_cube_map
    • Implemented GL_ARB_shader_objects
    • Implemented GL_ARB_fragment_shader
    • Implemented GL_ARB_vertex_shader
    • Implemented GL_ARB_shading_language_100
    • Implemented GL_EXT_Cg_shader
    • Updated test.pl to use OpenGL::Shader

    OpenGL 0.55_04

    • Updated to reflect default OpenGL::Image Targa driver in test.pl

    OpenGL 0.55_03

    • Fixed a glBindBufferARB build dependency
    • Updated data allocation on OpenGL::Array->new
    • Added OpenGL::Array->length
    • Added OpenGL::Array->new_scalar
    • Added OpenGL::Array->new_pointer
    • Added OpenGL::Array->update_pointer
    • Made pos and len optional on OpenGL::Array->retrieve
    • Made pos and len optional on OpenGL::Array->retrieve_data
    • Added gluBuild1DMipmaps_c
    • Added gluBuild2DMipmaps_c
    • Added OpenGL::Image support to test.pl

    OpenGL 0.55_02

    • Broadwell's gl_pixelbuffer_size fix

    OpenGL 0.55_01

    • Added sub-version numbers for interim/beta releases
    • Added bind and bound methods to OpenGL::Array class
    • Added _s APIs for Vertex Buffer Objects to simplify transition of code from SDL

    OpenGL-Image Changes

    OpenGL-Image 1.02

    • Removed redundant documentation from Image.pm
    • Fixed/enhanced priority handling and engine info retrieval for GetEngines and HasEngine.
    • Updated OpenGL-Image.t to reflect changes
    • Cleaned up NewEngine
    • Cleaned up Image.pod, INSTALL and README
    • Fixed version number for OpenGL::Image::Common
    • Enhanced hex_tile.pl

    OpenGL-Image 1.01

    • Fixed typo in test app.
    • Added support for 24 bit images in Targa.pm
    • Added support for runlength-encoded images in Targa.pm
    • Fixed non-alpha image handling (eg: JPEGs) for unix in Magick.pm
    • Updated STDERR handling when attempting to load image modules.
    • Added GetPowerOf2.
    • Updated SyncOGA in Magick.pm to handle image resizing.
    • Added hex_tile.pl screensaver

    OpenGL-Image 1.00

    • First stable release

    OpenGL-Image 0.00_2

    • Fixed GetPixel/SetPixel
    • Added a Targa (uncompressed RGBA) driver
    • Changed default engine from Magick to Targa

    OpenGL-Shader Changes

    OpenGL-Shader 1.01

    • Removed duplicate documentation in Shader.pm
    • Added support for parameters fewer than 4 in SetVector
    • Updated GetTypes and HasType to reflect changes in OpenGL::Image
    • Updated OpenGL-Shader.t to reflect changes
    • Fixed tests for shader support
    • Added shader-test.pl - sample shader app<

    OpenGL-Shader 1.00

    • First stable release