From: Dieter <Die...@ha...> - 2001-01-16 22:29:53
|
> > > But Mesa's GLU tessellator and NURBS code isn't nearly as good as the > > > SI code. > > > > Can you be more specific? As a matter of fact, I am studying closely > > the codes of mesa's glu for personal interests. SGI's codes are not > > meant for easy human reading. > > Mesa's polygon tessellator doesn't have the GLU 1.2 features. > Gareth Hughes worked on this for a while but didn't have time to > complete the work. I'm sure he'd agree that it's a big job. > Also Mesa's GLU NURBS tessellator doesn't handle trimming or a > few other features. > > -Brian Sorry, that I step in, but... I am under the impression that Gareth Hughes GLU 1.2 work was one of the best things ever on this. With the current GLU (and the SGI SI one, taken from the Mesa3D site) I never got "tessdemo" working the right way. Especially when I draw a "figure" with one or more self intersections I get only this: "FIST recovery process fatal error" Second, "xlockmore" (mode "text3d") crash all the time with the current Mesa GLU. (The self intersections?) SunWave1>xlock -nolock -mode text3d -ttfont /usr/X11/lib/fonts/ttf/arial.ttf Segmentation fault (core dumped) Reading symbols from /usr/lib/libstdc++-libc6.2-2.so.3...done. Reading symbols from /lib/libm.so.6...done. Reading symbols from /lib/libc.so.6...done. Reading symbols from /usr/lib/libstdc++-libc6.1-2.so.3...done. Reading symbols from /lib/libpthread.so.0...done. Reading symbols from /lib/libdl.so.2...done. Reading symbols from /lib/ld-linux.so.2...done. Reading symbols from /lib/libnss_compat.so.2...done. Reading symbols from /lib/libnsl.so.1...done. Reading symbols from /usr/X11R6/lib/modules/dri/tdfx_dri.so...done. Reading symbols from /usr/lib/libglide3.so.3...done. #0 0x402e9b21 in chunk_free () from /lib/libc.so.6 (gdb) bt #0 0x402e9b21 in chunk_free () from /lib/libc.so.6 #1 0x402e97d2 in chunk_alloc () from /lib/libc.so.6 #2 0x402e8f91 in malloc () from /lib/libc.so.6 #3 0x401598df in XGetVisualInfo () from /usr/X11R6/lib/libX11.so.6 #4 0x81018bd in matherr () #5 0x80547c4 in matherr () #6 0x80501f7 in error () #7 0x8051eb4 in error () #8 0x4029509f in __libc_start_main () from /lib/libc.so.6 Yes, I "see" that it fails in glide3 (without 3DNow!) but it worked last summer... Gareth's code could handle this all. -Dieter |
From: Brian P. <br...@va...> - 2001-01-16 22:45:49
|
Dieter Nützel wrote: > > > > > But Mesa's GLU tessellator and NURBS code isn't nearly as good as the > > > > SI code. > > > > > > Can you be more specific? As a matter of fact, I am studying closely > > > the codes of mesa's glu for personal interests. SGI's codes are not > > > meant for easy human reading. > > > > Mesa's polygon tessellator doesn't have the GLU 1.2 features. > > Gareth Hughes worked on this for a while but didn't have time to > > complete the work. I'm sure he'd agree that it's a big job. > > Also Mesa's GLU NURBS tessellator doesn't handle trimming or a > > few other features. > > > > -Brian > > Sorry, that I step in, but... > > I am under the impression that Gareth Hughes GLU 1.2 work was one of the best > things ever on this. > With the current GLU (and the SGI SI one, taken from the Mesa3D site) I never > got "tessdemo" working the right way. Especially when I draw a "figure" with > one or more self intersections I get only this: > > "FIST recovery process fatal error" > > Second, "xlockmore" (mode "text3d") crash all the time with the current Mesa > GLU. (The self intersections?) > > SunWave1>xlock -nolock -mode text3d -ttfont /usr/X11/lib/fonts/ttf/arial.ttf > Segmentation fault (core dumped) > > Reading symbols from /usr/lib/libstdc++-libc6.2-2.so.3...done. > Reading symbols from /lib/libm.so.6...done. > Reading symbols from /lib/libc.so.6...done. > Reading symbols from /usr/lib/libstdc++-libc6.1-2.so.3...done. > Reading symbols from /lib/libpthread.so.0...done. > Reading symbols from /lib/libdl.so.2...done. > Reading symbols from /lib/ld-linux.so.2...done. > Reading symbols from /lib/libnss_compat.so.2...done. > Reading symbols from /lib/libnsl.so.1...done. > Reading symbols from /usr/X11R6/lib/modules/dri/tdfx_dri.so...done. > Reading symbols from /usr/lib/libglide3.so.3...done. > #0 0x402e9b21 in chunk_free () from /lib/libc.so.6 > (gdb) bt > #0 0x402e9b21 in chunk_free () from /lib/libc.so.6 > #1 0x402e97d2 in chunk_alloc () from /lib/libc.so.6 > #2 0x402e8f91 in malloc () from /lib/libc.so.6 > #3 0x401598df in XGetVisualInfo () from /usr/X11R6/lib/libX11.so.6 > #4 0x81018bd in matherr () > #5 0x80547c4 in matherr () > #6 0x80501f7 in error () > #7 0x8051eb4 in error () > #8 0x4029509f in __libc_start_main () from /lib/libc.so.6 > > Yes, I "see" that it fails in glide3 (without 3DNow!) but it worked last > summer... > > Gareth's code could handle this all. But other people had more trouble with Gareth's code than either the old Mesa tessellator or the SI tessellator. Ideally, someone will fix whatever bugs there may be in the SI tessellator. -Brian |
From: Allen A. <ak...@po...> - 2001-01-16 22:54:40
|
On Tue, Jan 16, 2001 at 03:54:43PM -0700, Brian Paul wrote: | | But other people had more trouble with Gareth's code than either the | old Mesa tessellator or the SI tessellator. It's a difficult problem. Some algorithms handle particular cases better than others. | Ideally, someone will fix whatever bugs there may be in the SI | tessellator. It would also be great if people could submit test cases to the glean project. The best thing to do is to become a developer and just check in an appropriate test; the next best thing to do is submit the test data to the gle...@li... mailing list. In either case, submitting a test guarantees that future changes to the tessellator code won't cause regressions. Allen |
From: Dieter <Die...@ha...> - 2001-01-17 00:02:07
|
> > Second, "xlockmore" (mode "text3d") crash all the time with the current > > Mesa > > GLU. (The self intersections?) > [snip] > > > Yes, I "see" that it fails in glide3 (without 3DNow!) but it worked last > > summer... > > > > Gareth's code could handle this all. > > > But other people had more trouble with Gareth's code than either the > old Mesa tessellator or the SI tessellator. > > Ideally, someone will fix whatever bugs there may be in the SI > tessellator. > > -Brian I agree. Now, a little more debug output of "xlockmore" (latest 5.01ALPHA03): SunWave1>gdb xlock/xlock core GNU gdb 19991004 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... Core was generated by `./xlock/xlock -nolock -mode text3d -ttf /usr/X11/lib/fonts/ttf/'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/X11R6/lib/libSM.so.6...done. Reading symbols from /usr/X11R6/lib/libICE.so.6...done. Reading symbols from /usr/X11R6/lib/libXpm.so.4...done. Reading symbols from /usr/lib/libgltt.so.2...done. Reading symbols from /usr/lib/libttf.so.2...done. Reading symbols from /usr/lib/libGL.so.1...done. Reading symbols from /usr/lib/libGLU.so.1...done. Reading symbols from /lib/libcrypt.so.1...done. Reading symbols from /usr/X11R6/lib/libX11.so.6...done. Reading symbols from /usr/X11R6/lib/libXext.so.6...done. Reading symbols from /usr/lib/libstdc++-libc6.2-2.so.3...done. Reading symbols from /lib/libm.so.6...done. Reading symbols from /lib/libc.so.6...done. Reading symbols from /usr/lib/libstdc++-libc6.1-2.so.3...done. Reading symbols from /lib/libpthread.so.0...done. Reading symbols from /lib/libdl.so.2...done. Reading symbols from /lib/ld-linux.so.2...done. Reading symbols from /lib/libnss_compat.so.2...done. Reading symbols from /lib/libnsl.so.1...done. Reading symbols from /usr/X11R6/lib/modules/dri/tdfx_dri.so...done. Reading symbols from /usr/lib/libglide3.so.3...done. #0 t3d_anim_default (tp=0x820cfd8) at text3d.cc:475 475 tp->phi += tp->direction * angle_speed; (gdb) bt #0 t3d_anim_default (tp=0x820cfd8) at text3d.cc:475 #1 0x8106166 in Animate (tp=0x820cfd8) at text3d.cc:685 #2 0x8054865 in call_callback_hook (ls=0x0, mi=0x820cfd8) at mode.c:1185 #3 0x804ed37 in runMainLoop (maxtime=0, iconscreen=-1) at xlock.c:1823 #4 0x805024b in justDisplay (display=0x820c950) at xlock.c:2513 #5 0x8051ee4 in main (argc=6, argv=0xbffff4ac) at xlock.c:3597 Current language: auto; currently c++ (gdb) l 470 471 /*-------------------------------------------------------------*/ 472 static void 473 t3d_anim_default(text3dstruct * tp) 474 { 475 tp->phi += tp->direction * angle_speed; 476 tp->theta += tp->direction * angle_speed; 477 } 478 479 /*-------------------------------------------------------------*/ (gdb) disas Dump of assembler code for function t3d_anim_default: 0x8105cd0 <t3d_anim_default>: push %ebp 0x8105cd1 <t3d_anim_default+1>: fldl 0x818e560 0x8105cd7 <t3d_anim_default+7>: mov %esp,%ebp 0x8105cd9 <t3d_anim_default+9>: sub $0x14,%esp 0x8105cdc <t3d_anim_default+12>: mov 0x8(%ebp),%eax 0x8105cdf <t3d_anim_default+15>: leave 0x8105ce0 <t3d_anim_default+16>: fildl 0x18(%eax) 0x8105ce3 <t3d_anim_default+19>: flds 0x40(%eax) 0x8105ce6 <t3d_anim_default+22>: fxch %st(1) 0x8105ce8 <t3d_anim_default+24>: fmul %st(2),%st 0x8105cea <t3d_anim_default+26>: faddp %st,%st(1) 0x8105cec <t3d_anim_default+28>: fildl 0x18(%eax) 0x8105cef <t3d_anim_default+31>: fxch %st(1) 0x8105cf1 <t3d_anim_default+33>: fstps 0x40(%eax) 0x8105cf4 <t3d_anim_default+36>: flds 0x44(%eax) 0x8105cf7 <t3d_anim_default+39>: fxch %st(1) 0x8105cf9 <t3d_anim_default+41>: fmulp %st,%st(2) 0x8105cfb <t3d_anim_default+43>: faddp %st,%st(1) 0x8105cfd <t3d_anim_default+45>: fstps 0x44(%eax) 0x8105d00 <t3d_anim_default+48>: ret End of assembler dump. Reading symbols from /lib/libnss_compat.so.2...done. Reading symbols from /lib/libnsl.so.1...done. Reading symbols from /usr/X11R6/lib/modules/dri/tdfx_dri.so...done. Reading symbols from /usr/lib/libglide3.so.3...done. #0 t3d_anim_default (tp=0x820cfd8) at text3d.cc:475 475 tp->phi += tp->direction * angle_speed; (gdb) bt #0 t3d_anim_default (tp=0x820cfd8) at text3d.cc:475 #1 0x8106166 in Animate (tp=0x820cfd8) at text3d.cc:685 #2 0x8054865 in call_callback_hook (ls=0x0, mi=0x820cfd8) at mode.c:1185 #3 0x804ed37 in runMainLoop (maxtime=0, iconscreen=-1) at xlock.c:1823 #4 0x805024b in justDisplay (display=0x820c950) at xlock.c:2513 #5 0x8051ee4 in main (argc=6, argv=0xbffff4ac) at xlock.c:3597 Current language: auto; currently c++ (gdb) l 470 471 /*-------------------------------------------------------------*/ 472 static void 473 t3d_anim_default(text3dstruct * tp) 474 { 475 tp->phi += tp->direction * angle_speed; 476 tp->theta += tp->direction * angle_speed; 477 } 478 479 /*-------------------------------------------------------------*/ (gdb) disas Dump of assembler code for function t3d_anim_default: 0x8105cd0 <t3d_anim_default>: push %ebp 0x8105cd1 <t3d_anim_default+1>: fldl 0x818e560 0x8105cd7 <t3d_anim_default+7>: mov %esp,%ebp 0x8105cd9 <t3d_anim_default+9>: sub $0x14,%esp 0x8105cdc <t3d_anim_default+12>: mov 0x8(%ebp),%eax 0x8105cdf <t3d_anim_default+15>: leave 0x8105ce0 <t3d_anim_default+16>: fildl 0x18(%eax) 0x8105ce3 <t3d_anim_default+19>: flds 0x40(%eax) 0x8105ce6 <t3d_anim_default+22>: fxch %st(1) 0x8105ce8 <t3d_anim_default+24>: fmul %st(2),%st 0x8105cea <t3d_anim_default+26>: faddp %st,%st(1) 0x8105cec <t3d_anim_default+28>: fildl 0x18(%eax) 0x8105cef <t3d_anim_default+31>: fxch %st(1) 0x8105cf1 <t3d_anim_default+33>: fstps 0x40(%eax) 0x8105cf4 <t3d_anim_default+36>: flds 0x44(%eax) 0x8105cf7 <t3d_anim_default+39>: fxch %st(1) 0x8105cf9 <t3d_anim_default+41>: fmulp %st,%st(2) 0x8105cfb <t3d_anim_default+43>: faddp %st,%st(1) 0x8105cfd <t3d_anim_default+45>: fstps 0x44(%eax) 0x8105d00 <t3d_anim_default+48>: ret End of assembler dump. Conclusion: This seems not to be a GLU bug. -Dieter |