.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "OpenGL 3pm" .TH OpenGL 3pm "2023-06-17" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" PDL::Graphics::OpenGL::Perl::OpenGL \- PDL TriD OpenGL interface using POGL .SH "VERSION" .IX Header "VERSION" Version 0.01_10 .SH "SYNOPSIS" .IX Header "SYNOPSIS" This module provides the glue between the Perl OpenGL functions and the \s-1API\s0 defined by the internal PDL::Graphics::OpenGL one. It also supports any miscellaneous OpenGL or \s-1GUI\s0 related functionality to support PDL::Graphics::TriD refactoring. .PP You should eventually be able to replace: .PP .Vb 3 \& use PDL::Graphics::OpenGL \&by \& use PDL::Graphics::OpenGL::Perl::OpenGL; .Ve .PP This module also includes support for FreeGLUT and \&\s-1GLUT\s0 instead of X11+GLX as mechanism for creating windows and graphics contexts. .SH "EXPORT" .IX Header "EXPORT" See the documentation for the OpenGL module. More details to follow as the refactored TriD module interface and build environment matures .SH "FUNCTIONS" .IX Header "FUNCTIONS" .SS "\s-1TBD\s0" .IX Subsection "TBD" .SS "\s-1TBD\s0" .IX Subsection "TBD" .SS "new" .IX Subsection "new" Returns a new OpenGL object. .PP .Vb 1 \& new($class,$options,[$window_type]) \& \& Attributes are specified in the $options field; the 3d $window_type is optionsl. The attributes are: .Ve .IP "x,y \- the position of the upper left corner of the window (0,0)" 4 .IX Item "x,y - the position of the upper left corner of the window (0,0)" .PD 0 .IP "width,height \- the width and height of the window in pixels (500,500)" 4 .IX Item "width,height - the width and height of the window in pixels (500,500)" .IP "parent \- the parent under which the new window should be opened (root)" 4 .IX Item "parent - the parent under which the new window should be opened (root)" .IP "mask \- the user interface mask (StructureNotifyMask)" 4 .IX Item "mask - the user interface mask (StructureNotifyMask)" .IP "attributes \- attributes to pass to glXChooseVisual" 4 .IX Item "attributes - attributes to pass to glXChooseVisual" .PD .PP Allowed 3d window types, case insensitive, are: .IP "glut \- use Perl OpenGL bindings and \s-1GLUT\s0 windows (no Tk)" 4 .IX Item "glut - use Perl OpenGL bindings and GLUT windows (no Tk)" .PD 0 .IP "x11 \- use Perl OpenGL (\s-1POGL\s0) bindings with X11 (disabled)" 4 .IX Item "x11 - use Perl OpenGL (POGL) bindings with X11 (disabled)" .PD .SS "default \s-1GLUT\s0 callbacks" .IX Subsection "default GLUT callbacks" These routines are set as the default \s-1GLUT\s0 callbacks for when \s-1GLUT\s0 windows are used for \s-1PDL/POGL.\s0 Their only function at the moment is to drive a fake XEvent queue to feed the existing TriD \s-1GUI\s0 controls. At some point, the X11 stuff will be deprecated and we can rewrite this more cleanly. .SS "default_options" .IX Subsection "default_options" default options for object oriented methods .SS "\fBXPending()\fP" .IX Subsection "XPending()" \&\s-1OO\s0 interface to XPending .SS "XResizeWindow" .IX Subsection "XResizeWindow" \&\s-1OO\s0 interface to XResizeWindow .PP .Vb 1 \& XResizeWindow(x,y) .Ve .SS "\fBglpXNextEvent()\fP" .IX Subsection "glpXNextEvent()" \&\s-1OO\s0 interface to glpXNextEvent .SS "\fBglpRasterFont()\fP" .IX Subsection "glpRasterFont()" \&\s-1OO\s0 interface to the glpRasterFont function .SS "swap_buffers" .IX Subsection "swap_buffers" \&\s-1OO\s0 interface to swapping display buffers .SS "set_window" .IX Subsection "set_window" \&\s-1OO\s0 interface to setting the display window (if appropriate) .SS "\s-1AUTOLOAD\s0" .IX Subsection "AUTOLOAD" If the function is not prototyped in \s-1OO\s0 we assume there is no explicit mention of the three identifying parameters (Display, Window, Context) and try to load the OpenGL function. .SS "glXSwapBuffers" .IX Subsection "glXSwapBuffers" \&\s-1OO\s0 interface to the glXSwapBuffers function .SH "AUTHOR" .IX Header "AUTHOR" Chris Marshall, \f(CW\*(C`\*(C'\fR .SH "BUGS" .IX Header "BUGS" Bugs and feature requests may be submitted through the \s-1PDL\s0 GitHub project page at . .SH "SUPPORT" .IX Header "SUPPORT" \&\s-1PDL\s0 uses a mailing list support model. The Perldl mailing list is the best for questions, problems, and feature discussions with other \s-1PDL\s0 users and \s-1PDL\s0 developers. .PP To subscribe see the page at .SH "ACKNOWLEDGEMENTS" .IX Header "ACKNOWLEDGEMENTS" \&\s-1TBD\s0 including \s-1PDL\s0 TriD developers and \s-1POGL\s0 developers...thanks to all. .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2009 Chris Marshall. .PP This program is free software; you can redistribute it and/or modify it under the terms of either: the \s-1GNU\s0 General Public License as published by the Free Software Foundation; or the Artistic License. .PP See http://dev.perl.org/licenses/ for more information.