----- Original Message -----
From: "Chris Marshall" <[email protected]>
>> Puzzled for the night,
>> Chris
>
> Try setting PDL_3D_DEVICE in the environment to 'GL'
> before running the tests and see if that changes things.
With PDL_3D_CEVICE set to GL, running the 'demo 3d' in the perldl shell I
get repeated complaints that:
OOPS!!! Something went wrong, please make a bug report!: Your vendor has not
defined OpenGL macro KeyPressMask, used at
C:\temp\temp\PDL\blib\lib/PDL//Graphics//TriD//GL.pm line 623.
Same for 'demo 3d2'. (These messages emanate from Screen.pm.)
Running 3dtest.pl I get basically the same:
################################
C:\temp\temp\PDL>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=HASH(0x3462ee4)
PDL::Graphics::TriD::Window: calling gdriver....
GL gdriver...
Your vendor has not defined OpenGL macro KeyPressMask, used at
C:\temp\temp\PDL\blib\lib/PDL//Graphics//TriD//GL.pm line 623.
AUTOLOAD: DESTROY at C:\temp\temp\PDL\blib\lib/PDL/Graphics/TriD/Window.pm
line 224.
Window AUTOLOADing 'DESTROY':
self=PDL::Graphics::TriD::Window=HASH(0x3462ee4),
args=''
################################
The appropriate section of the GL.pm code is:
623: $options->{mask} = (KeyPressMask | ButtonPressMask |
624: ButtonMotionMask | ButtonReleaseMask |
625: ExposureMask | StructureNotifyMask |
626: PointerMotionMask) unless defined $options->{mask};
Seems that KeyPressMask ,ButtonMotionMask and PointerMotionMask are not
vendor-defined for me. With those symbols removed, 3dtest.pl runs, but
crashes when I click on the x to close the window. It terminates nicely if I
hit the 'q' key:
###############################
C:\temp\temp\PDL>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=HASH(0x34a2e84)
PDL::Graphics::TriD::Window: calling gdriver....
GL gdriver...
STARTING OPENGL 300 300
gdriver: Calling OpengGL::OO(HASH(0x349dd6c))...
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
C:\temp\temp\PDL\blib\lib/PDL/Graphics/TriD/Window.pm line 224.
Window AUTOLOADing 'set_material':
self=PDL::Graphics::TriD::Window=HASH(0x34a2e
84), args='PDL::Graphics::TriD::Material=HASH(0x34a5e9c)'
do_perspective 300 300
PDL::Graphics::TriD::Window
(C:\temp\temp\PDL\blib\lib/PDL//Graphics//TriD//GL.pm, line 826)
PDL::Graphics::TriD::Window
(C:\temp\temp\PDL\blib\lib/PDL//Graphics//TriD//GL.pm, line 734)
PDL::Graphics::TriD (C:\temp\temp\PDL\blib\lib/PDL/Graphics/TriD.pm, line
676)
main (3dtest.pl, line 17)
(, line )
Transforming viewport!
CALLIST !
CHECKVALID PDL::Graphics::TriD::ViewPort=HASH(0x34a6c84)
GENLIST 1
EGENLIST 1
VALID1 PDL::Graphics::TriD::ViewPort=HASH(0x34a6c84)
EVENT!
OO::XPending: have 0 xevents
_pdl_fake_KeyPress: got (113 351 642)
e= 2,q
Your vendor has not defined OpenGL macro KeyPress, used at
C:\temp\temp\PDL\blib\lib/PDL//Graphics//TriD//GL.pm line 753.
AUTOLOAD: DESTROY at C:\temp\temp\PDL\blib\lib/PDL/Graphics/TriD/Window.pm
line 224.
Window AUTOLOADing 'DESTROY':
self=PDL::Graphics::TriD::Window=HASH(0x34a2e84),
args=''
###############################
Oops ... there's another undefined macro (KeyPress).
Only this time it's not so easily dealt with:
749: }
750: print "e= ".join(",",@e)."\n" if($PDL::Graphics::TriD::verbose);
751:
752: if(@e){
753: if ($e[0] == VisibilityNotify || $e[0] == Expose) {
754: $hap = 1;
755: } elsif ($e[0] == ConfigureNotify) {
756: print "CONFIGNOTIFE\n" if($PDL::Graphics::TriD::verbose);
757: $this->reshape($e[1],$e[2]);
758: $hap=1;
The 2 demos in the perldl shell sort of work .... the images seem to get
superimposed as the demo proceeds. I don't think that's right.
And at the end of the demo the window is unresponsive, which is definitely
not right.
But it's all definitely encouraging !!
I'll copy the PDL and OpenGL stuff over to my XP laptop (which, apparently,
has additional drivers installed) and see how it goes there. (Might take me
a while, as $job is about to get in the way again.) I'll let you know how it
goes.
Cheers,
Rob
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl