Skip to content

Commit 44132c2

Browse files
author
Chris Marshall
committed
Initial commit of PGOPOGL module to git
Getting started to split the XS file to reduce the size of the compile processes so things can build on systems with lower memory requirements. This may reduce the time to compile as well. Need to check.
0 parents  commit 44132c2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+68416
-0
lines changed

CHANGES

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
Changes for PDL::Graphics::OpenGL::Perl::OpenGL 0.01_03 - CHM
2+
____________________________________________________________
3+
4+
This module is an interim solution to accelerate debuging and
5+
integration of the official POGL release 0.57 into PDL.
6+
7+
8+
9+
Changes for 0.57_03 - CHM
10+
____________________________________________________________
11+
12+
Updated CHANGES.
13+
14+
Makefile.PL: set verbose on as the default build option for
15+
bettern diagnostics. Also added better diags
16+
for when glversion.txt is not generated correctly
17+
and a clean exit(0) without writing a Makefile
18+
which is the preferred style for CPAN Testers.
19+
20+
OpenGL.pm: updated $VERSION to 0.57_03 for a developers release
21+
22+
23+
24+
25+
Change List for 0.57 - Bob "grafman" Free <[email protected]>
26+
____________________________________________________________
27+
28+
Updated CHANGES
29+
30+
Updated MANIFEST
31+
32+
Updated INSTALL
33+
34+
Updated gl_util.c
35+
36+
Updated gl_util.h
37+
38+
Updated Makefile.PL
39+
40+
Added oga.pl - OGA sample/test app
41+
42+
Updated OpenGL.pm
43+
44+
Updated OpenGL.pod
45+
46+
Updated OpenGL.xs
47+
48+
Updated README, README.Win32, README.FreeBSD, RADME.cygwin
49+
50+
Updated test.pl to fix fullscreen handling
51+
52+
Added test.jpg - test image
53+
54+
Replaced include/GL/glut.h
55+
Added include/GL/freeglut.h
56+
Added include/GL/freeglut_ext.h
57+
Added include/GL/freeglut_std.h
58+
59+
Added FreeGLUT/freeglut.dll
60+
Added FreeGLUT/freeglut.lib
61+
Added FreeGLUT/README.txt
62+
63+
Updated glut_const.h
64+
65+
Upated utils/cleanup.pl
66+
67+
Updated glext_procs.h
68+
69+
Updated examples/texhack
70+
71+
Updated vertex.glsl
72+
73+
Added utils/mingw.bat
74+
75+
Added README.macosx
76+
77+
Updated README.Win32
78+
79+
Updated TODO
80+
81+
Added KNOWN_PROBLEMS
82+
83+
84+
85+
Chris Marshall
86+
____________________________________________________________
87+
88+
Added README.cygwin
89+
90+
Updated Makefile.PL
91+
92+
Added utils/makefile.cywin
93+
94+
Updated utils/glversion.c
95+
96+
Updated gl_util.h, gl_const.h, glut_util.h, glu_const.h, glext_procs.h
97+
98+
99+
100+
Sisyphus
101+
____________________________________________________________
102+
103+
Added utils/makefile.mingw
104+
105+
Updated Makefile.PL
106+
107+
108+
109+
Alex Dodge
110+
____________________________________________________________
111+
112+
Updated OpenGL.pod
113+
114+
Updated OpenGL.pm
115+
116+
Update OpenGL.xs

COPYRIGHT

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
2+
Copyright (c) 1998,1999 Kenneth Albanowski. All rights reserved.
3+
Copyright (c) 2007 Bob Free. All rights reserved.
4+
This program is free software; you can redistribute it and/or
5+
modify it under the same terms as Perl itself.
6+
7+
Some portions of this module, including some code sections in OpenGL.pm and
8+
OpenGL.xs (marked by "Melax" comments) are Copyright Stan Melax, as are the
9+
files in the example/ directory. This is Stan's original COPYRIGHT message
10+
for those works:
11+
12+
(c) Copyright 1995, Stan Melax, ALL RIGHTS RESERVED
13+
Stan Melax
14+
Alberta Research Council
15+
16+
http://www.arc.ab.ca/~stan
17+
18+
Please feel free to give
19+
me acknowledgement/credit/money/honorable-mention/job-offers/research-funding
20+
wherever or whenever appropriate :-)
21+
Permission to copy, modify is granted provided that you
22+
include the above copyright notice with it.
23+
This software is provided as is, and comes with no promises
24+
or guarantees. You may only use it if you promise not to
25+
sue me or my employer for anything relating to the use of
26+
this software :-)
27+
28+
OpenGL is a trademark of Silicon Graphics Inc.
29+
30+
Special thanks to:
31+
Tim Bunce
32+
Brian Paul
33+
Karl Glazebrook http://www.ast.cam.ac.uk/~kgb
34+
The Alberta Research Council
35+
36+
Feel free to email me your name so I can add it to the above list.
37+
Acknowledgement and credit for those where acknowledgement
38+
and credit is warrented ... yadda , yadda .... bla ... bla ...
39+
40+
Some of these examples in the "examples" subdirectory
41+
are adapted from the OpenGL Programming Guide.
42+
43+
Here's the copyright that was attached to the examples
44+
from "OpenGL Programming Guide" by Neider, Davis, and Woo,
45+
and published by Addison Wesley:
46+
47+
/*
48+
* (c) Copyright 1993, Silicon Graphics, Inc.
49+
* ALL RIGHTS RESERVED
50+
* Permission to use, copy, modify, and distribute this software for
51+
* any purpose and without fee is hereby granted, provided that the above
52+
* copyright notice appear in all copies and that both the copyright notice
53+
* and this permission notice appear in supporting documentation, and that
54+
* the name of Silicon Graphics, Inc. not be used in advertising
55+
* or publicity pertaining to distribution of the software without specific,
56+
* written prior permission.
57+
*
58+
* THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
59+
* AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
60+
* INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
61+
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
62+
* GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
63+
* SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
64+
* KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
65+
* LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
66+
* THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
67+
* ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
68+
* ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
69+
* POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
70+
*
71+
* US Government Users Restricted Rights
72+
* Use, duplication, or disclosure by the Government is subject to
73+
* restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
74+
* (c)(1)(ii) of the Rights in Technical Data and Computer Software
75+
* clause at DFARS 252.227-7013 and/or in similar or successor
76+
* clauses in the FAR or the DOD or NASA FAR Supplement.
77+
* Unpublished-- rights reserved under the copyright laws of the
78+
* United States. Contractor/manufacturer is Silicon Graphics,
79+
* Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
80+
*
81+
* OpenGL(TM) is a trademark of Silicon Graphics, Inc.
82+
*/

FreeGLUT/README.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Since FreeGLUT has been stable/frozen since 2005, and since shared libs are usable across all
2+
Win32 OSs, I've included binary builds of FreeGLUT for Win32.

FreeGLUT/freeglut.dll

224 KB
Binary file not shown.

FreeGLUT/freeglut.lib

31.7 KB
Binary file not shown.

INSTALL

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
This module is a testing and integration version of POGL only.
2+
See POGL for the official release. This interface will likely
3+
change radically before the full POGL functionality is
4+
integrated with PDL. Thanks!
5+
6+
Visit the Perl OpenGL (POGL) Developer's Site for more information:
7+
http://graphcomp.com/opengl
8+
9+
To install the OpenGL module, please follow these instructions:
10+
11+
1. Update your development environment with the latest OpenGL header
12+
and lib files. If you are using a GPU, get the latest drivers
13+
from your vendor.
14+
15+
Install FreeGLUT (or compatible) - you can find this at
16+
http://freeglut.sourceforge.net/.
17+
18+
On Windows, FreeGLUT is installed automatically by this module if
19+
needed. On Mac OS X (Leopard and newer), GLUT is built in. On
20+
Linux distributions FreeGLUT is available via their package
21+
installers.
22+
23+
The 'include' subfolder provided with this module contains headers
24+
that this module has been tested with.
25+
26+
This module looks for libGL.so, libGLU.so and libglut.so
27+
(opengl32.dll, glu32.dll and freeglut.dll on Windows) in the normal
28+
places for your OS installation; you may need to symlink libraries
29+
from various vendors to the proper place/names.
30+
31+
Note: it is strongly recommended, but not required, that you
32+
install PerlMagick (6.3.5 or newer) first, as this will
33+
dramatically simplify and enhance your ability/performance in
34+
loading/saving images/textures via OpenGL::Image - see INSTALL
35+
note in the OpenGL::Image module.
36+
37+
38+
2. Run 'perl Makefile.PL'
39+
40+
Makefile.PL attempts to detemine your OS and available libs.
41+
You can override these defaults by specifying:
42+
43+
perl Makefile.PL interface=XFACE [verbose]
44+
45+
where XFACE is one of the following constants:
46+
47+
FREEGLUT Default window interface
48+
GLUT Fallback if FreeGLUT is not available
49+
GLX Unix X11
50+
W32API Windows via CYGWIN
51+
AGL Mac OS X
52+
53+
Makefile.PL will attempt to build and run a glversion utility to
54+
determine what version and extensions your OpenGL installation
55+
supports, and will create an gl_exclude.h header file to exclude
56+
APIs your libraries do not support. You can manually edit this
57+
file to override excluded extensions.
58+
59+
The "verbose" option provides additional info for troubleshooting.
60+
61+
Note: glversion assumes libGL.so and libglut.so
62+
(opengl32.dll and freeglut.dll on Windows) - and that it will
63+
be run via a GUI window (eg. X11 on Unix). This will impact
64+
automated build systems.
65+
66+
67+
For building POGL without extension exclusions, use:
68+
69+
perl Makefile.PL dist=NO_EXCLUSIONS
70+
71+
Note: NO_EXCLUSIONS is the default for Windows; this can be
72+
overridden by using the EXCLUSIONS option.
73+
74+
75+
To install in non-standard locations, use the PREFIX and LIB options
76+
when generating the Makefiles:
77+
78+
perl Makefile.PL prefix=/PREFIXPATH [LIB=/PREFIXPATH/perl/lib]
79+
80+
where PREFIXPATH is the path of the directory where you wish
81+
the module to be installed (e.g. binary executables in /PREFIXPATH/bin,
82+
manual pages in /PREFIXPATH/man, library files in /PREFIXPATH/lib...).
83+
The LIB option allows you to control where the perl module stuff goes
84+
rather than the default /PREFIXPATH/lib/perl5).
85+
86+
Then either set the PERL5LIB environment variable before you run
87+
scripts that use the modules/libraries (see perlrun) or in your
88+
programs say:
89+
90+
use lib '/PREFIXPATH/perl/lib';
91+
92+
93+
3. Run 'make' ('nmake' on Windows) to build OpenGL.pm.
94+
95+
96+
4. Run 'make test' ('nmake test' on Windows) to test your
97+
installation. You must have GLUT installed in order to run
98+
this test. You should see a spinning cube with textured surfaces.
99+
Press 'q' to quit/complete the test (the test window must have focus).
100+
101+
Note: Automated builds will normally fail this test, as it requires
102+
the ability to open a GL context (window) and provide user input.
103+
104+
105+
5. If all is well, run 'sudo make install' ('nmake install on Windows')
106+
to intall the OpenGL module onto your system.
107+
108+
109+
6. It is recommended (not required) that you also install the OpenGL::Image
110+
and OpenGL::Shader modules to enhance POGL's features.
111+
112+
113+
Read the included README files for additional notes on your particular
114+
platform.
115+
116+
117+
If you get an error about __eprintf missing, add
118+
119+
-L/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.7/2.96/ -lgcc
120+
121+
to the @LIBS initializer in Makefile.PL (change the directory for the
122+
appropriate one for your system).

0 commit comments

Comments
 (0)