The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PDL::Graphics::OpenGL::Perl::OpenGL - PDL TriD OpenGL interface using POGL

VERSION

Version 0.01_10

SYNOPSIS

This module provides the glue between the Perl OpenGL functions and the API defined by the internal PDL::Graphics::OpenGL one. It also supports any miscellaneous OpenGL or GUI related functionality to support PDL::Graphics::TriD refactoring.

You should eventually be able to replace:

    use PDL::Graphics::OpenGL
by
    use PDL::Graphics::OpenGL::Perl::OpenGL;

This module also includes support for FreeGLUT and GLUT instead of X11+GLX as mechanism for creating windows and graphics contexts.

EXPORT

See the documentation for the OpenGL module. More details to follow as the refactored TriD module interface and build environment matures

FUNCTIONS

TBD

TBD

new($class,$options,[$window_type])

Returns a new OpenGL object with attributes specified in the options field, and of the 3d window type, if specified. These attributes are:

  x,y - the position of the upper left corner of the window (0,0)
  width,height - the width and height of the window in pixels (500,500)
  parent - the parent under which the new window should be opened (root)
  mask - the user interface mask (StructureNotifyMask)
  attributes - attributes to pass to glXChooseVisual

Allowed 3d window types, case insensitive, are:

  pdl-legacy-x11 - use deprecated PDL::PP OpenGL interface
  x11  - use Perl OpenGL (POGL) bindings and X11 windows
         (supports PDL::Graphics::TriD::Tk use)
  glut - use Perl OpenGL bindings and GLUT windows (no Tk)

default GLUT callbacks

These routines are set as the default GLUT callbacks for when GLUT windows are used for PDL/POGL. Their only function at the moment is to drive an fake XEvent queue to feed the existing TriD GUI controls. At some point, the X11 stuff will the deprecated and we can rewrite this more cleanly.

default_options

default options for object oriented methods

XPending()

OO interface to XPending

XResizeWindow(x,y)

OO interface to XResizeWindow

glpXNextEvent()

OO interface to glpXNextEvent

glpRasterFont()

OO interface to the glpRasterFont function

AUTOLOAD

If the function is not prototyped in OO we assume there is no explicit mention of the three identifying parameters (Display, Window, Context) and try to load the OpenGL function.

glXSwapBuffers

OO interface to the glXSwapBuffers function

AUTHOR

Chris Marshall, <devel dot chm dot 01 at gmail.com>

BUGS

Bugs and feature requests may be submitted through the PDL sourceforge project page at http://sourceforge.net/tracker/?group_id=612 .

SUPPORT

PDL uses a mailing list support model. The Perldl mailing list is the best for questions, problems, and feature discussions with other PDL users and PDL developers.

To subscribe see the page at http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

ACKNOWLEDGEMENTS

TBD including PDL TriD developers and POGL developers...thanks to all.

COPYRIGHT & LICENSE

Copyright 2009 Chris Marshall.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.