OpenGL::Modern - Perl extension to Modern OpenGL API up to 4.5
use OpenGL::Modern qw(:all); use OpenGL qw(:glutfunctions :glutconstants); # for GLUT
OpenGL::Modern provides perl bindings to the OpenGL graphics APIs using the OpenGL Extension Wrangler (GLEW) library. These bindings were largely generated by parsing the GLEW include file,
This module updates the original Perl OpenGL bindings OpenGL (often abbreviated as POGL) to include support for all OpenGL API from 1.0 through 4.5. The "modern" OpenGL APIs are those starting with version 3.1 and higher.
OpenGL 3.1 was the first version where the legacy OpenGL functionality from versions 1.x-3.0 was fully deprecated. Much of the functionality that used to be accessed via the extension mechanism in
OpenGL now is standardized and in the OpenGL Core APIs.
The module OpenGL::Image was written for the original OpenGL.pm, however it can be made to work seamlessly with OpenGL::Modern. Where-as you previously loaded it like this:
use OpenGL::Image; # loads OpenGL.pm on its own
You can prepend two use lines, and get this:
use OpenGL::Array; # not part of OpenGL::Modern use OpenGL::Modern::ImageHack; # sets up a fake OpenGL namespace use OpenGL::Image; # now safe to do, won't load OpenGL.pm
None by default.
OpenGL 4.x documentation at https://www.opengl.org/sdk/docs/man4/
Perl OpenGL (POGL) and Perl OpenGL::Modern (POGL2) development share common resources. At some point
OpenGL::Modern will replace the legacy
OpenGL implementation. Together they are referred to as POGL.
Perl OpenGL developer and users lists are at https://sourceforge.net/p/pogl/mailman/?source=navbar
Perl OpenGL IRC is at #pogl on irc.perl.org
POGL2 development will take place on github and the repository is being set up there. The sf.net repository will be the official release repository and is mirrored from github.
Chris Marshall, < devel dot chm dot 01 AT gmail dot com >
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.22.0 or, at your option, any later version of Perl 5 you may have available.
Copyright (C) 2017 by Chris Marshall Copyright (C) 2016 by Max Maischein