---
name: "PDL::Graphics::TriD::GL"
section: "3pm"
platform: "linux"
package: "libpdl-graphics-trid-perl"
version: "2.102-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PDL::Graphics::TriD::GL"
---

# PDL::Graphics::TriD::GL(3pm)

PDL TriD OpenGL interface using POGL

## 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 GLFW, GLUT, X11+GLX, etc, as the mechanism for creating windows and graphics contexts.

## CONFIG

Defaults to using OpenGL::GLFW - override by setting the environment variable `"POGL_WINDOW_TYPE"` to `"glut"`, `"x11"` , or the default is `"glfw"`. 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:

- glfw - use Perl OpenGL bindings and GLFW windows (no Tk)

  - 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.
