PDL Developers and Users-

Below is the announcement for pre-release testing of the Perl OpenGL
library.  If you can make the time, I would request that you download
the latest SVN of POGL and test the configuration and build on your
favorite platforms.

I'm currently working to refactor the existing TriD graphics code
to use POGL instead of the internal PDL::PP implementation that
is now being used.  The goals of switching to POGL from our own
OpenGL (derived from the OpenGL-0.5 release or there-abouts)
are

* Improve portability and supportability of the TriD code base:
   POGL has more users, hence the code is tried more often by
   users,  Both factors can lead to faster updates and generate better
   support.

* Enable use of TriD on win32 platforms by eliminating the GLX
   dependency in the current code and replacing it by FreeGLUT.
   This should allow portable support for multiple windows with
   TriD.

* Improve the buildability of PDL.  By factoring out the OpenGL
   dependence into POGL, we should be able to install the TriD
   perl modules independently from OpenGL.  That should make it
   easier to get ActiveState Perl PPMs built through the official
   process since the build need not fail if the OpenGL configuration
   and build environment is not available at PDL config and build.

I would appreciate if you could cc your results to me and add a
copy of the OpenGL/Config.pm file that is generated if the build
completes successfully.  The Config.pm contains the MakeMaker
arguments needed to build POGL and I need to determine how
to use them to build the TriD::OpenGLQ code to replace our
existing Makefile.PL process.

Thanks much,
Chris

-------- Original Message --------
Subject:        POGL 0.57 pre-release
Date:   Sun, 20 Jul 2008 18:57:42 -0700
From:   Grafman Productions <[EMAIL PROTECTED]>
To:     POGL <[EMAIL PROTECTED]>
References:     <[EMAIL PROTECTED]>



Hey gang - it's been a while since I last sent out a POGL developer 
newsletter.

It's been a crazy year for me - but with a help of a lot (20+) of people, 
I'm getting ready to release OpenGL 0.57 and OpenGL-Image 1.03 to CPAN.


Key enhancements:

* Switched from GLUT to FreeGLUT as POGL's default windowing interface. 
This allows your app to capture close events for better cleanup and graceful 
exit handlers.

* Add OpenGL::Array affine (for affine transforms) and calc - for 
populating, manipulating and mathematically combining OGAs (using RPN 
notation).  See http://graphcomp.com/opengl/arrays

* Added glpFullScreen and glpRestoreScreen APIs, and GLUT's Game mode APIs.

* Fixed gluProject/gluUnproject.

* Updated POGL to support Mac OS X 10.5.x and Xcode 3.x (iPhone SDK).

* With _much_ help from Chris Marshall (key PDL contributor) and Sisyphus 
(Perl MinGW contributor), we've made some good progress towards adding 
support for building POGL via Cygwin and MinGW under Windows (as an 
alternative to VC6).

* Updated OpenGL-Image to provide better Mac OS support and to clean up 
Sync/SyncOGA handling for improved integration with Image::Magick.

* Added cross-referenced documentation for POGL APIs at 
http://graphcomp.com/opengl/api


Chris Marshall has been active in migrating PDL to use POGL, and has offered 
to notify his PDL base to expand testing for this 0.57 pre-release.  Thanks, 
Chris - please do send out your announcement.  Everyone else - if you know 
of anyone who would be willing to test this out on their 
platform/environments, it would be _much_ appreciated.

You can get the latest rev from SVN (http://graphcomp.com/opengl/downloads). 
Once this seems reasonably stable, I'll post updated binary PPM dists (5.6.x 
and 5.8.x) for Windows/ActivePerl.  I'm hoping to post 0.57 to CPAN later 
this week.

Note: I would recommend (not required) installing the latest release of 
PerlMagick before doing this update.  If test.pl crashes (when drawing the 
inset), build/install OpenGL::Image 1.03 from SVN and try again. 
OpenGL::Image now requires calling SyncOGA after making native ImageMagick 
calls on POGL image buffers.


Things to test:

* Confirm that everything builds/installs/runs on your platforms.  If 
successful, please send me the console output of test.pl; if it fails, run 
"perl Makefile.PL verbose" and send me the console output for this and for 
your 'make' attempt.

* OpenGL-Shader - if your video card supports shaders, and you are not using 
Mesa (software renderer), please build/install OpenGL::Shader from SVN, and 
then re-run test.pl from the OpenGL installation.  You should see some 
orange animated textures rendered on the surface of the cube.

* OpenGL-Image - if you have PerlMagick 6.3.5 or newer installed, please 
build/install the latest OpenGL::Image from SVN, and run test.pl from the 
OpenGL installation.  You should see a blurred inset in the upper right - 
this is an example of a native ImageMagick operation being applied to an 
OpenGL context.  If you press 'c', test.pl will capture/save the current 
OpenGL frame via ImageMagick.

* Fullscreen Mode - should work fine on Mac and Windows; some X11 window 
managers do not hide system menu bars; some X11 implementations fail to do 
proper restores (KDE seems to work correctly).  To test, run test.pl and hit 
'g' to toggle FullScreen mode.

* Game Mode - Game mode is somewhat different than FullScreen.  Most 
FullScreen modes are still windowed - they just cover the screen.  Game mode 
actually takes over the OS's root display context, with the option of 
changing your video card's video mode.  This is supposed to provide better 
performance - although I haven't noticed much of a difference.  To test this 
run 'perl test.pl gamemode'.  OpenGL's context is tied to the video mode, so 
you can't toggle game mode without reinitializing your OpenGL context.

Note: GameMode on X11 systems require the XFree86-VideoModeExtension - this 
is enabled on some Linux distributions, and disabled on others.  In order to 
enable it, you need to edit /etc/X11/xorg.conf and add the following to the 
Module section: 'Load "extmod"' - let me know whether this works for you or 
not.

* Mac OS X - this works on my Macbook Pro (10.5.x + Xcode 3.x), but I've 
heard from some that their current environment still uses old-style OpenGL 
headers. If this fails, tell me which of the two you have:

   /usr/X11/include/GL/gl.h
   /usr/X11/include/GL/glut.h
or
   /usr/X11/include/OpenGL/gl.h
   /usr/X11/include/GLUT/glut.h (possibly missing)

* Windows VC6 - this seems to work fine on XP - you may encounter privilege 
issues on Vista.  If so, let me know what you've had to do in order to make 
this work.  Here's what's worked for me:

   a) building/installing as admin, or
   b) making Perl/site/lib folders writeable, or
   c) manually copying freeglut.dll (from the FreeGLUT folder) to someplace 
on your path.

* Cygwin - "Perl Makefile.PL interface=GLX" seems to work (do the build in 
an xterm window); "Perl Makefile.PL interface=W32API" (X11 not required) 
works for me, but not others.  If it doesn't work for you, run "Perl 
Makefile.PL inteface=W32API verbose" and send me the console output.

* MinGW - utils/mingw.bat should build glversion correctly.  I've had 
trouble building POGL via mingw/dmake; sisyphus has been sending me great 
patches, which work for him - but doesn't seem to work for me.  Sisyphus - 
if you have a patch for the current SVN rev, send it to me - I'll fold it in 
tonight.  Notes at http://www.perlmonks.org/?node_id=614808 may be helpful.

* Linux - I've been testing primarily on Ubuntu/Debian; I just receive a 
report from John Gabriele that it works on Ubuntu's latest "Hardy Heron" 
release - cool!  It's been a while since I've tested on Fedora - so if 
anyone has a current Fedora and/or RHEL installation, reports would be 
appreciated.  I've received reports in the past that POGL builds fine on 
Gentoo; confirmation there would also be appreciated.

* Solaris / SunOS - Nomura-san has been my sole Solaris tester/contributor - 
thanks, much appreciated!  If you or others can test/report for Solaris, I'd 
appreciate it.

* Other OSes - if you can get POGL running on any other OSes, please send me 
your console output from test.pl - that would be awesome!


What's not in this release:

GLU/Tesselation - I've had some bug reports that various GLU functions do 
not work.  I've fixed a few (gluProject/gluUnproject), but after scanning 
the code, it's clear that POGL's GLU implementation is due for a re-write. 
In particular, GLU's tesselation APIs do not work.  If anyone has 
time/interest in working on this, let me know.

Geometry Shaders - I _really_ wanted to get this into 0.57 - unfortunately, 
this year has been too crazy for me to get to this extension.  This is 
definitely my next priority enhancement.

PPM 5.10 - VBOs seem to crash under ActivePerl 5.10 - haven't had a chance 
to track this down.  If I can figure this out in the next few days, I'll try 
to get it into 0.57.

glpOpenWindow - the original contributors had intended to abstract OpenGL 
window interfaces via glpOpenWindow - however, it was implemented to work 
with GLX, and never extended to work with WGL/AGL/etc.  If I get a chance, I 
_may_ look into adding FreeGLUT support to glpOpenWindow, to make it 
portable.  If anyone would like to work on this feature, it'd be greatly 
appreciated.

OpenGL::Image::Imager - at some point I'd like to add support for CPAN's 
Imager module to OpenGL::Image as a "pure-perl" alternative to PerlMagick. 
The key is that I (or someone) willl need to add some APIs to Imager to 
provide direct image buffer access, like I did for ImageMagick.

OpenGL::Video - I've been wanting to do a video interface for 
reading/writing video from an OpenGL context/texture that shares 
framebuffers, the way I did for OpenGL::Image - I was thinking about 
leveraging FFmpeg and/or GStreamer - just haven't had time.  Maybe next 
year.

Parrot / Perl6 - Geoff Broadwell and I have been talking about porting POGL 
to Parrot so that it can be used with Perl6, Python, Ruby, etc.  He's in the 
process of porting GLUT; I may do the same for POGL next year - although 
it's currently a low priority, due to the progress (or lack thereof) of 
Perl6.

iPhone - I've been doing a lot of iPhone/OpenGL-ES contracts lately... since 
Perl runs on the iPhone, I'm considering porting POGL to the iPhone - let me 
know if you'd be interested in hleping out, or using this.


Requests - beyond testing, the POGL site can really use your help:

* Resources - let me know if you have a published app that uses POGL - I'll 
post a link to your site.

* Gallery - snapshots/video of what you're doing with POGL.

* Sample apps / tutorials - if you have apps/snippets that would be helpful 
in developers making use of POGL, please send them to me.

* Benchmarks - I've posted Vista vs Fedora vs Ubuntu benchmarks, and C vs 
Perl vs Python benchmarks.  Geoff Broadwell (Perl SDL contributor) has 
posted SDL vs POGL benchmarks, Jan Dvorak (RubyGL author) has sent me Perl 
vs Ruby benchmarks (haven't posted them yet).  I'm planning to do a XP/Vista 
benchmark, MacOS/XP benchmark and a JOGL/POGL benchmark.  If anyone else has 
other benchmarks they'd like to post, let me know.

* Developer's forum - I started to set up a POGL developers mailing list, 
but got side-tracked.  There have been some requests for me to add a 
developers forum on the POGL site.  Any thoughts/suggestions, offers to 
help?


Big request - if you are an open source developer, and want to help promote 
POGL - please register on http://ohloh.net - then:

1. Got to http://www.ohloh.net/projects/pogl and click the "I USE THIS" 
button; give it a rating/review if you are so inclined.

2. Do the same for http://www.ohloh.net/projects/opengl-image and 
http://www.ohloh.net/projects/opengl-shader.

3. If you would like to support my effort on POGL, please go to 
http://www.ohloh.net/accounts/grafman/kudos and give me a 'kudo'.  Thanks!!!


Much thanks to all of you - POGL would not be possible without all your 
help/patches/testing/suggestions and support!

Here's to 0.57! - Bob



-- 
No virus found in this incoming message.
Checked by AVG. 
Version: 7.5.526 / Virus Database: 270.5.2/1562 - Release Date: 7/19/2008 2:01 
PM




_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to