NAME

OpenGL::Modern - Perl extension to Modern OpenGL API up to 4.5

SYNOPSIS

use OpenGL::Modern qw(:all);
use OpenGL qw(:glutfunctions :glutconstants);  # for GLUT

DESCRIPTION

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, glew.h.

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.

OpenGL::Image

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

EXPORT

None by default.

SEE ALSO

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.

AUTHOR

Chris Marshall, < devel dot chm dot 01 AT gmail dot com >

LICENSE and COPYRIGHT

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