POGL - A Portable Perl Binding for OpenGL

POGL is an OpenGL Perl module written in C using Perl XS.

This module requires properly installed OpenGL drivers and libs to run, and GLUT for proper installation. You can download GLUT source and binaries from OpenGL.org.

Go to Downloads for POGL source and Windows binary distributions (PPMs).


The POGL team in collaboration with the ImageMagick team has added APIs that provide tight integration between POGL and PerlMagick.

POGL is also interoperable with the FFmpeg module for use with video.


POGL's performance is comparable to C language bindings (see Benchmarks). For online services (using mod_perl or ISAPI), Perl generally runs much faster than Java.

This is due to several factors:

  • POGL is a compiled binary
  • GPUs do most of the heavy-lifting in hardware
  • Perl is optimized for string handling, such as loading shader code
  • POGL shares C buffers with other modules, such as PerlMagick

Perl OpenGL Advantages

  • Requires no compiling, reducing development/testing time
  • No IDE; developers use familiar/convenient editors
  • Portable - simplifying distributed projects
  • Perl has a large amount of OpenSource code to leverage
  • Perl is more portable to C/C++ than Python or Ruby