NAME

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

DESCRIPTION

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.

It defines an interface that subclasses will conform to, implementing support for GLUT, X11+GLX, etc, as mechanism for creating windows and graphics contexts.

CONFIG

Defaults to using OpenGL::GLUT - override by setting the environment variable POGL_WINDOW_TYPE to x11 (the default is glut). This is implemented by PDL::Graphics::TriD::Window::gdriver.

new

Returns a new OpenGL object.

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

Attributes are specified in the $options field; the 3d $window_type is optionsl. The 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:

glut - use Perl OpenGL bindings and GLUT windows (no Tk)
x11 - use Perl OpenGL (POGL) bindings with X11

default_options

default options for object oriented methods

swap_buffers

OO interface to swapping frame buffers

set_window

OO interface to setting the display window (if appropriate)

AUTHOR

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

BUGS

Bugs and feature requests may be submitted through the PDL GitHub project page at https://github.com/PDLPorters/pdl/issues .

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://pdl.perl.org/?page=mailing-lists

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.