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 once
pogl_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 300
PDL::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

Attachment: pogl_osx_wmclose.patch
Description: Binary data



Attachment: pdl_osx_typemap.patch
Description: Binary data


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

Reply via email to