PDL::G...riD::GL(3pm)
β¨ PDL::G...riD::GL β¨
okay bestie, so this is PDL::Graphics::TriD::GL β yes the name is literally abbreviated with dots in the middle, that's just how the manpage header rolls, don't question it π
β from the User Contributed Perl Documentation collection, and it's about to be your new fave little glue module, no cap.
π NAME π
PDL::Graphics::TriD::GL β the PDL TriD OpenGL interface, using POGL π¦
π DESCRIPTION π
So basically this module is the glue, the social secretary, the group chat admin between the Perl OpenGL functions and the API that the internal PDL::Graphics::OpenGL defines. It's the one making introductions. π«Ά
It also handles any miscellaneous OpenGL or GUI-adjacent functionality needed to support the PDL::Graphics::TriD refactoring. Iconic behaviour honestly.
It defines an interface that subclasses are expected to conform to, implementing support for GLFW, GLUT, X11+GLX, etc. β as the mechanism for creating windows and graphics contexts. It's giving "choose your own adventure" but make it windows. π
β¨ CONFIG β¨
Defaults to using OpenGL::GLFW β you can override that by setting the environment variable POGL_WINDOW_TYPE to glut, x11, or the default is glfw. (so like, glut or x11 if you're feeling spicy, glfw if you're not π)
This is implemented by PDL::Graphics::TriD::Window::gdriver.
πΈ new πΈ
Returns a new OpenGL object. Baby's first OpenGL object, so cute.
new($class,$options,[$window_type])
Attributes are specified in the $options field; the 3d $window_type is optional (yes the original says "optionsl", we're all doing our best here π). The attributes are:
x,yβ the position of the upper left corner of the window (default0,0)width,heightβ the width and height of the window in pixels (default500,500)parentβ the parent under which the new window should be opened (defaultroot)maskβ the user interface mask (defaultStructureNotifyMask)attributesβ attributes to pass toglXChooseVisual
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
not me listing every single one because every single one matters π no skipping, bestie
π default_options π
default options for object oriented methods. lowkey self-explanatory, highkey important.
π¦ swap_buffers π¦
OO interface to swapping frame buffers. the frame buffers get swapped, the vibes stay immaculate β¨
π set_window π
OO interface to setting the display window (if appropriate). note the "if appropriate" β it's conditional, it's mysterious, it's main character energy π
π AUTHOR π
Chris Marshall, <devel dot chm dot 01 at gmail.com>. we stan. π«Ά
π BUGS π
Bugs and feature requests may be submitted through the PDL GitHub project page at <https://github.com/PDLPorters/pdl/issues> . go yell there, kindly, they're listening π
π§ 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. it's giving community, it's giving support group, it's giving friendship π
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. (the TBD is doing a lot of heavy lifting here but we appreciate everyone regardless πΈ)
π 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.
and that's the whole page, bestie β¨ this was served up by perl v5.40.1 on 2025-04-11, and honestly? the way it ate. π
π¦π
π¦ where this page comes from
- debian trixie: libpdl-graphics-trid-perl 2.102-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu questing: libpdl-graphics-trid-perl 2.102-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms