Hi Chris!Here's some more AGL and PDL problems on Mac OS X. I've just checked out POGL and PDL from the Git repositories, so I should be working on your most up-to-date source code.
First, OpenGL doesn't build because the callback for WMCloseFunc isn't defined (you only define generic_glut_Close_handler()).
pogl_glut.c pogl_glut.xs: In function ‘XS_OpenGL_glutCloseFunc’:pogl_glut.xs:1795: error: ‘generic_glut_WMClose_handler’ undeclared (first use in this function) pogl_glut.xs:1795: error: (Each undeclared identifier is reported only oncepogl_glut.xs:1795: error: for each function it appears in.)
The attached patch fixes this problem, but I'm sure there's a more elegant solution (e.g. an appropriate macro wrapper). Demos run fine then, except that frame buffer contents (FBO modes 1 and 2) can't be read out in fullscreen mode. But I don't care much about this in practical use.
PDL seems to be a bigger problem. PP.pm still doesn't find the system typemap files on my Mac -- I'm beginning to wonder whether something is damaged in my setup, but I'm sure I'm using Apple's system perl binary (with latest XCode installed).
I've attached a patch that explicitly corrects the path on Mac OS X ("darwin" platform), and which I assume should not cause problems anywhere else. With this patch, PDL builds fine including POGL, and passes the t/opengl.pl test.
However, as you've hinted at in your mail, the 3D demos don't work.
However, we are seeing a hang on a Mac OS X system and would like some additional data points for Mac OS X with the latest to try to debug the issue. If you try it, please let us know the results.
Here's what I get from "perl -Mblib 3dtest.pl":
$ perl -Mblib 3dtest.pl $im3 has dims of 3 640 480 get_current_window - creating window... PDL::Graphics::TriD::Window - calling SUPER::new...PDL::Graphics::TriD::Window - got back PDL::Graphics::TriD::Window=ARRAY(0xbcf290)PDL::Graphics::TriD::Window: calling gdriver.... GL gdriver... STARTING OPENGL 300 300 gdriver: Calling OpengGL::OO(HASH(0xbcf034))... Creating GLUT OO window gdriver: Calling glClearColor... gdriver: Calling glpRasterFont... gdriver: window_type => 'glut' so not actually setting the rasterfont STARTED OPENGL! PDL::Graphics::TriD::Window: gdriver gave back 1.... It's interactive... calling ev_defaults... calling new_viewport... Adding viewport 0,0,300,300 ARC: 300,300 PDL::Graphics::TriD::ArcCone 300,300 ARC: 300,300 Resized window: 300,300 PDL::Graphics::TriD::SimpleScaler 300,300 new_viewport: PDL::Graphics::TriD::ViewPort 0 get_current_window - calling set_material...AUTOLOAD: set_material at /Users/severt/Software/Perl/PDL/blib/lib/ PDL/Graphics/TriD/Window.pm line 224. Window AUTOLOADing 'set_material': self=PDL::Graphics::TriD::Window=ARRAY(0xbcf290), args='PDL::Graphics::TriD::Material=HASH(0xbd0a10)'do_perspective 300 300PDL::Graphics::TriD::Window (/Users/severt/Software/Perl/PDL/blib/ lib/PDL//Graphics//TriD//GL.pm, line 833) PDL::Graphics::TriD::Window (/Users/severt/Software/Perl/PDL/blib/ lib/PDL//Graphics//TriD//GL.pm, line 741) PDL::Graphics::TriD (/Users/severt/Software/Perl/PDL/blib/lib/PDL/ Graphics/TriD.pm, line 676)main (3dtest.pl, line 17) (, line ) Transforming viewport! CALLIST ! CHECKVALID PDL::Graphics::TriD::ViewPort=ARRAY(0xbd00ac) GENLIST 1 EGENLIST 1 VALID1 PDL::Graphics::TriD::ViewPort=ARRAY(0xbd00ac) EVENT! _pdl_fake_ConfigureNotify: got (300 300)2009-10-02 11:31:48.639 perl[1829:10b] GLUT Warning: The following is a new check for GLUT 3.0; update your code. 2009-10-02 11:31:48.640 perl[1829:10b] GLUT Fatal Error: redisplay needed for window 1, but no display callback.
I'm quite stumped by this error message and have no idea how to follow up on this. What can I do to help with debugging?
From the 3d demos in perldl, I get similar error messages, and PDL never manages to open an OpenGL window on my screen.
Best, Stefan
pogl_osx_wmclose.patch
Description: Binary data
pdl_osx_typemap.patch
Description: Binary data
_______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
