plib-users Mailing List for PLIB (Page 85)
Brought to you by:
sjbaker
You can subscribe to this list here.
2000 |
Jan
|
Feb
(24) |
Mar
(54) |
Apr
(29) |
May
(58) |
Jun
(29) |
Jul
(675) |
Aug
(46) |
Sep
(40) |
Oct
(102) |
Nov
(39) |
Dec
(40) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(45) |
Feb
(23) |
Mar
(30) |
Apr
(64) |
May
(28) |
Jun
(61) |
Jul
(55) |
Aug
(35) |
Sep
(24) |
Oct
(23) |
Nov
(21) |
Dec
(67) |
2002 |
Jan
(98) |
Feb
(23) |
Mar
(13) |
Apr
(23) |
May
(43) |
Jun
(45) |
Jul
(54) |
Aug
(5) |
Sep
(56) |
Oct
(17) |
Nov
(53) |
Dec
(26) |
2003 |
Jan
(67) |
Feb
(36) |
Mar
(22) |
Apr
(35) |
May
(26) |
Jun
(35) |
Jul
(10) |
Aug
(49) |
Sep
(17) |
Oct
(3) |
Nov
(30) |
Dec
(10) |
2004 |
Jan
(12) |
Feb
(18) |
Mar
(52) |
Apr
(50) |
May
(22) |
Jun
(13) |
Jul
(16) |
Aug
(23) |
Sep
(21) |
Oct
(29) |
Nov
(6) |
Dec
(26) |
2005 |
Jan
(9) |
Feb
(19) |
Mar
(13) |
Apr
(19) |
May
(12) |
Jun
(8) |
Jul
(6) |
Aug
(10) |
Sep
(22) |
Oct
(3) |
Nov
(6) |
Dec
(17) |
2006 |
Jan
(10) |
Feb
(8) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(8) |
Jul
(8) |
Aug
(13) |
Sep
(2) |
Oct
(1) |
Nov
(9) |
Dec
(6) |
2007 |
Jan
(3) |
Feb
(4) |
Mar
(12) |
Apr
(2) |
May
(6) |
Jun
|
Jul
(22) |
Aug
|
Sep
(9) |
Oct
(13) |
Nov
|
Dec
|
2008 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(4) |
May
(15) |
Jun
(28) |
Jul
(8) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2009 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(2) |
Apr
(7) |
May
(4) |
Jun
(2) |
Jul
(5) |
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
(7) |
Feb
(2) |
Mar
(1) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(4) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Tyler M. <TMi...@li...> - 2000-10-16 16:05:13
|
Same problem occurs when making 1.3 as well. Is there some other software that I'm missing perhaps? >What version of plib are you running. If its a version from cvs please let >me know what day you downloaded it. I have been using cygwin and I have yet >to run into this problem. |
From: Tyler M. <TMi...@li...> - 2000-10-16 15:36:38
|
Hi Ben, >What version of plib are you running. If its a version from cvs please let >me know what day you downloaded it. I have been using cygwin and I have yet >to run into this problem. I'm trying to install the PLIB 1.2.0 package. |
From: Steve B. <sjb...@ai...> - 2000-10-15 13:41:12
|
Elad Lahav wrote: > > I have switch to Mandrake 7.1, and everything works great now. Not only > plib, but also many other things I have tried to compile ever since I had > installed the beta and release versions of RedHat 7. > It is such a disappointment to learn that a major distribution (THE major > distribution?) has made such a big mistake, and is not even admitting it. <rant> I'm just astounded that: a) ...they'd ever pick up a non-released CVS and put it into a distro. b) ...they'd do something like that for something as critically important as the C/C++ compiler. c) ...that they wouldn't change their policy when the kernel team *and* the compiler team tell them not to do it. d) ...that all these problems didn't come out during beta test. They must be out of their tiny minds! Distro's should only *ever* ship "even numbered" versions of anything. To do otherwise does a great disservice to us poor maintainers because: * It makes us look bad when our software fails in the field. * It dramatically increases the number of emails we have to deal with from people for whom it failed. Neither can be a good thing. </rant> > Anyway, things have worked for the best, since Mandrake looks (up to now) > like a better distribution in other aspects as well. I'm still a fan of SuSE - but that may change with their 7.0 release now that they've split into 'amateur' and 'professional' versions. I havn't had very good dealings with Mandrake so far, I've gotten dragged into a couple of flame wars with some of their package maintainers - and on the basis of that, I don't have a terribly high opinion of their staff. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: <Va...@t-...> - 2000-10-15 10:53:25
|
Simon Foster wrote: > > When attempting to compile the pui part of plib (nb: > all the rest of plib compiles no problem) I get these > (and other) errors: > > pu.h: In method `puFont::puFont()': > pu.h:87: `GLUT_BITMAP_8_BY_13' undeclared > pu.cxx: In function `int puGetWindowHeight(); > pu.cxx: `GLUT_WINDOW_HEIGHT' undeclared > ....... You are missing a define. IIRC: #define USE_GLUT On Linux machines this should be done automatically. BTW: Could we *please* add this define as default? Perhaps something like: #ifnef USE_GLUT # ifndef USE_FREE_GLUT # define USE_GLUT # endif #endif CU, Christian PS: I haven't looked at the code, so I don't know if the spelling of the defines are correct. |
From: Elad L. <el...@el...> - 2000-10-15 06:03:00
|
I have switch to Mandrake 7.1, and everything works great now. Not only plib, but also many other things I have tried to compile ever since I had installed the beta and release versions of RedHat 7. It is such a disappointment to learn that a major distribution (THE major distribution?) has made such a big mistake, and is not even admitting it. Anyway, things have worked for the best, since Mandrake looks (up to now) like a better distribution in other aspects as well. Thanks for all of your help. Elad Lahav R&D Department Eldar Shany Technologies 972-7-6736804 ext. 227 |
From: Steve B. <sjb...@ai...> - 2000-10-15 03:32:46
|
> Ben Discoe wrote: > > Has anyone on this list tried using wxWindows and PLIB/SSG together? It seems like > a good combination (open source GUI, open source 3D). You'd use wxWindows *voluntarily* ?!? I'm not aware of anyone trying this - but if you can wrestle wxWindows into doing *anything* in the way of an OpenGL window, then SSG should work OK. Good luck though - after my last "experiences" with wxWindows, I truly, deeply, advise you to look at something else. FLTK maybe? GTK? > It should work well since wxWindows can set up an OpenGL context, and SSG just draws > into the current context. However, my attempts so far to combine the small wxWindows > OpenGL sample program with some SSG functions has not been successful - the SSG objects > aren't appearing. I can't imagine why not - but wxWindows is *so* strange, it may well have set up some really wacky OpenGL modes before it draws. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Norman V. <nh...@ca...> - 2000-10-14 22:27:50
|
Ben Discoe writes: Has anyone on this list tried using wxWindows and PLIB/SSG together? It seems like a good combination (open source GUI, open source 3D). It should work well since wxWindows can set up an OpenGL context, and SSG just draws into the current context. However, my attempts so far to combine the small wxWindows OpenGL sample program with some SSG functions has not been successful - the SSG objects aren't appearing. Has someone used them successfully, and if so perhaps someone has a small sample program with them working together? Hi Ben, Welcome aboard. :-) Using the FLTK windowing kit was fairly easy to do There are some minor yet show stopping gottchas however. i.e you have to make sure that you have a valid GLContext prior to any SSG calls. basically all you should need to do is derive a new class from wxGLCanvas and attach a ssgContext You can look at the PPE source http://sourceforge.net/projects/prettypoly To see a way to do this The pertinent code is in src/viewer/ppeViewer.cxx esp. ppeViewer::init() Watch out for possible confusion of wxGLCanvas::SetCurrent() and ssgContext::makeCurrent() MakeCurrent() !!! MUST !!! come after SetCurrent() Cheers Norman |
From: Steve B. <sjb...@ai...> - 2000-10-14 19:35:45
|
Ben Discoe wrote: > > (BTW: The Quadro is a ripoff - it's an identical chip/board to the > GeForce, > > with the exception of a single resistor value. If you know how to solder > > small surface-mount parts, you can convert a GeForce card into a Quadro!) > > The way i heard it, the Quadro was a ripoff because it was identical > hardware, shipped with a different driver which enabled fast line-draw > (because CAD people use wireframe so much). Nearly. In fact, the driver is identical - but either it or the nVidia GeForce/Quadro chip reads the value of a resistor that's connected across two pins of the chip - depending on the value, it either does LINE-SMOOTH lines using the hardware - or in a software routine that must have been deliberately crippled because it's AMAZINGLY slow. One of my programs runs at 500Hz plus with non-smoothed lines (about 1000 polygons in wireframe mode) - and takes nearly a minute per frame (on a 750MHz PC) with line-smoothing turned on. When Mesa is run in software-only mode, it does the same image at about 10Hz. Hence either those nVidia programmers are really bad at their job - or it's deliberately crippled. > Anyhow, back at the time that > card was purchased, it was also the only way to get a 64MB NVidia card. Not any more. There are 64Mb GeForce-2's in Fry's at $280 right now. > I'm really tearing my hair out here over making simple coloured geometry. > Steve, i beg of you to please help me with my previous email, the one with > the stuff about sgSimpleState/ssgVertexColourArray. I'm *really* busy right now - I'll try to find some time...no promises though. You said that you could get this to happen with simple GL-level commands - shouldn't you just take out all of the PLIB code and mail your example to one of the OpenGL mailing lists (and possibly to the nVidia developers) ?? -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Ben D. <be...@wa...> - 2000-10-14 19:31:57
|
Has anyone on this list tried using wxWindows and PLIB/SSG together? It = seems like a good combination (open source GUI, open source 3D). It should work well since wxWindows can set up an OpenGL context, and = SSG just draws into the current context. However, my attempts so far to = combine the small wxWindows OpenGL sample program with some SSG = functions has not been successful - the SSG objects aren't appearing. Has someone used them successfully, and if so perhaps someone has a = small sample program with them working together? Thanks, Ben |
From: Steve B. <sjb...@ai...> - 2000-10-14 19:14:12
|
Simon Foster wrote: > > When attempting to compile the pui part of plib (nb: > all the rest of plib compiles no problem) I get these > (and other) errors: > > pu.h: In method `puFont::puFont()': > pu.h:87: `GLUT_BITMAP_8_BY_13' undeclared > pu.cxx: In function `int puGetWindowHeight(); > pu.cxx: `GLUT_WINDOW_HEIGHT' undeclared > ....... > > glut.h etc. is there but something is going wrong, has > anyone any ideas what? I am running Mandrake. Well, those symbols certainly come from glut.h - which should be in /usr/include/GL/glut.h Perhaps you have an old version of GLUT installed - or perhaps Mandrake has installed it somewhere freaky. (That wouldn't suprise me) Did the PLIB 'configure' script complain about GLUT being missing? -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Ben D. <be...@wa...> - 2000-10-14 17:36:23
|
> > glEnable(GL_COLOR_MATERIAL); > > glDisable(GL_COLOR_MATERIAL); > > > > and was able to duplicate the white-object problem, thus it's not SSG's > > fault. > > I was aware of a bug like this in Mesa - which (IIRC) was recently fixed. So far i've tried: Quadro with 0522 drivers Quadro with 0631 (latest) drivers GeForce DDR with 0631 drivers ... all under Win2k, and all of them exhibit the same problem! Could someone please try that small 'green triangle' example in my last email, does it work on anyone's system? > (BTW: The Quadro is a ripoff - it's an identical chip/board to the GeForce, > with the exception of a single resistor value. If you know how to solder > small surface-mount parts, you can convert a GeForce card into a Quadro!) The way i heard it, the Quadro was a ripoff because it was identical hardware, shipped with a different driver which enabled fast line-draw (because CAD people use wireframe so much). Anyhow, back at the time that card was purchased, it was also the only way to get a 64MB NVidia card. I'm really tearing my hair out here over making simple coloured geometry. Steve, i beg of you to please help me with my previous email, the one with the stuff about sgSimpleState/ssgVertexColourArray. Desperate thanks in advance, Ben |
From: <fa...@ya...> - 2000-10-14 12:03:02
|
When attempting to compile the pui part of plib (nb: all the rest of plib compiles no problem) I get these (and other) errors: pu.h: In method `puFont::puFont()': pu.h:87: `GLUT_BITMAP_8_BY_13' undeclared pu.cxx: In function `int puGetWindowHeight(); pu.cxx: `GLUT_WINDOW_HEIGHT' undeclared ....... glut.h etc. is there but something is going wrong, has anyone any ideas what? I am running Mandrake. Regards, SiMON __________________________________________________ Do You Yahoo!? Yahoo! Messenger - Talk while you surf! It's FREE. http://im.yahoo.com/ |
From: tjones <tj...@is...> - 2000-10-13 23:33:34
|
Hello What version of plib are you running. If its a version from cvs please let me know what day you downloaded it. I have been using cygwin and I have yet to run into this problem. Thanks Ben ----- Original Message ----- From: Tyler Mitchell <TMi...@li...> To: <pli...@li...> Sent: Friday, October 13, 2000 1:50 PM Subject: [Plib-users] "make"ing in Cygwin > Just installed the whole shabang of Cygwin and now have run MAKE on the > PLIB installation. > Everything seems okay until part way through compiling slMOFfile. Below is > a snippit of where the errors started and how the make process ended. Can > anyone direct to me to rectify the problem? > > Tyler > ..... > /lib -c slMODfile.cxx > slMODfile.cxx:9: parse error before `unsigned' > slMODfile.cxx: In method `void MODfile::modToS3m(unsigned char (*)[4], Note > *)': > > slMODfile.cxx:325: `transTab' undeclared (first use this function) > slMODfile.cxx:325: (Each undeclared identifier is reported only once > slMODfile.cxx:325: for each function it appears in.) > slMODfile.cxx: In method `void MODfile::makeSampleInfo(int)': > slMODfile.cxx:438: stray '\' in program > slMODfile.cxx:438: invalid type argument of `unary *' > slMODfile.cxx:438: parse error before `;' > slMODfile.cxx:439: parse error before `)' > slMODfile.cxx:439: stray '\' in program > slMODfile.cxx:441: `lLen' undeclared (first use this function) > slMODfile.cxx:444: stray '\' in program > slMODfile.cxx:444: invalid type argument of `unary *' > slMODfile.cxx:444: parse error before `;' > slMODfile.cxx:456: parse error before `]' > slMODfile.cxx:476: stray '\' in program > slMODfile.cxx:476: invalid type argument of `unary *' > slMODfile.cxx:476: parse error before `;' > slMODfile.cxx:486: `pp0' undeclared (first use this function) > slMODfile.cxx:500: `n' undeclared (first use this function) > slMODfile.cxx:512: declaration of `int MODfile::update()' outside of class > is no > t definition > slMODfile.cxx:512: parse error before `{' > slMODfile.cxx:544: `return' with a value, in function returning void > slMODfile.cxx:549: `return' with a value, in function returning void > slMODfile.cxx:438: warning: unused variable `unsigned int len' > slMODfile.cxx:555: declaration of `unsigned char * > MODfile::read_whole_file(char > *, int *)' outside of class is not definition > slMODfile.cxx:555: parse error before `{' > slMODfile.cxx:560: `fname' undeclared (first use this function) > slMODfile.cxx:566: `return' with a value, in function returning void > slMODfile.cxx:569: `statbuf' undeclared (first use this function) > slMODfile.cxx:572: `return' with a value, in function returning void > slMODfile.cxx:577: conflicting types for `unsigned char * p' > slMODfile.cxx:425: previous declaration as `struct SampleInfo * p' > slMODfile.cxx:581: `len' undeclared (first use this function) > slMODfile.cxx:584: `return' with a value, in function returning void > slMODfile.cxx:484: warning: `unsigned char * p' might be used uninitialized > in t > his function > slMODfile.cxx: At top level: > slMODfile.cxx:652: confused by earlier errors, bailing out > make[2]: *** [slMODfile.o] Error 1 > make[2]: Leaving directory `/plib/src/sl' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/plib/src' > make: *** [all-recursive] Error 1 > ..... > > _______________________________________________ > plib-users mailing list > pli...@li... > http://lists.sourceforge.net/mailman/listinfo/plib-users > > |
From: Steve B. <sjb...@ai...> - 2000-10-13 23:25:10
|
Ben Discoe wrote: > glEnable(GL_COLOR_MATERIAL); > glDisable(GL_COLOR_MATERIAL); > > and was able to duplicate the white-object problem, thus it's not SSG's > fault. I was aware of a bug like this in Mesa - which (IIRC) was recently fixed. > The question remains why merely enabling and disabling this state messes up > rendering. Perhaps it's a driver bug, but the Quadro is a pretty common > card. Anyone have an idea? (The Quadro? That's just the 'professional' version of the GeForce - right?) Are you using Linux or Windoze? If Linux, are you using the nVidia drivers or the Utah-GLX drivers? I'm not having any problems of this kind with the GeForce - and in fact the way we found the original Mesa bug was when I got my GeForce cards and all the peculiar lighting problems 'went away'. (BTW: The Quadro is a ripoff - it's an identical chip/board to the GeForce, with the exception of a single resistor value. If you know how to solder small surface-mount parts, you can convert a GeForce card into a Quadro!) -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Ben D. <be...@wa...> - 2000-10-13 20:40:17
|
I spent more time trying to debug the problem, and have more information. The reason that SSG seemed to be causing trouble is that inside ssgInit, it enables GL_COLOR_MATERIAL. What i discovered is that even if i disable GL_COLOR_MATERIAL afterwards, geometry is still rendered incorrectly! Instead of calling SSG, i tried simply calling: glEnable(GL_COLOR_MATERIAL); glDisable(GL_COLOR_MATERIAL); and was able to duplicate the white-object problem, thus it's not SSG's fault. The question remains why merely enabling and disabling this state messes up rendering. Perhaps it's a driver bug, but the Quadro is a pretty common card. Anyone have an idea? Thanks, Ben |
From: Ben D. <be...@wa...> - 2000-10-13 17:48:55
|
Hi Steve, thanks for the quick response! > > if ( num_colours == 0 ) glColor4f ( 1.0f, 1.0f, 1.0f, 1.0f ) ; > > This forces all primitives to white if they don't have a color per vertex! > > No - it sets them to white if you didn't give the LEAF node a colour. That's > a very rare circumstance in practice. I don't understand. The num_colors field comes from this: int num_colours = getNumColours () ; which is the number of colors in the vertex color table. I would presume in general that more than one primitive will share the same vertex table, so color information will come from the state, not the per-vertex colors. Or are you saying that it is customary to make a ssgColourArray with a single element in it, for each differently-colored primitive?? > > In ssgSimpleState::apply(), it uses glMaterialfv to set the diffuse color. > > However, GL is in "Color Material" mode by default, so the glMaterialfv > > calls have no effect, making the shape default white. > > It's unwise to rely on OpenGL's default state. Many implementations get > that wrong. OK, i can set the state's state explicitly - but which is correct? Is disabling GL_COLOR_MATERIAL required to get any ssgSimpleState-colored objects? > No - it's simply that you didn't enable or disable GL_COLOR_MATERIAL explicitly > and you didn't set the glColorMaterial setting to (say) GL_AMBIENT_AND_DIFFUSE > in the ssgStates that needed that. I've tried that, and the triangle is still white, not green. > > I tried to solve this problem by adding a statement to the triangle code: > > state->disable(GL_COLOR_MATERIAL); > > OK - that's going to mean that the polygon colour is entirely determined by > the glMaterial - but *ONLY* if GL_LIGHTING is enabled. I've tried that, and the triangle is still white, not green. > What OpenGL implementation do you have - and what PLIB are you using? I'm using a NVidia Quadro under Win2k, presumably OGL1.2. I've been using PLIB 1.2.0, but i looked at the latest 1.3.1 as well, and it didn't appear to have changed in the core functionality i'm using. > Yes - 99% of people put the colour in the leaf node and enable > GL_COLOR_MATERIAL. Does this mean i can't use ssgSimpleState? Using vertex colors ("in the leaf node") means that the ssgSimpleState values are ignored, since they are ignored by OpenGL when *not* using GL_COLOR_MATERIAL. Wouldn't that also mean that i can't set additional properties like Emission? You can't specify that with a ssgColourArray, so do 99% of people not care about any state besides diffuse? > Can you mail me a short example program so that I can investigate more carefully? I've attached a small example, which is basically the "tux" example with tux replaced by a "green" triangle, which appears white. Thanks! Ben |
From: Tyler M. <TMi...@li...> - 2000-10-13 16:52:12
|
Just installed the whole shabang of Cygwin and now have run MAKE on the PLIB installation. Everything seems okay until part way through compiling slMOFfile. Below is a snippit of where the errors started and how the make process ended. Can anyone direct to me to rectify the problem? Tyler ..... /lib -c slMODfile.cxx slMODfile.cxx:9: parse error before `unsigned' slMODfile.cxx: In method `void MODfile::modToS3m(unsigned char (*)[4], Note *)': slMODfile.cxx:325: `transTab' undeclared (first use this function) slMODfile.cxx:325: (Each undeclared identifier is reported only once slMODfile.cxx:325: for each function it appears in.) slMODfile.cxx: In method `void MODfile::makeSampleInfo(int)': slMODfile.cxx:438: stray '\' in program slMODfile.cxx:438: invalid type argument of `unary *' slMODfile.cxx:438: parse error before `;' slMODfile.cxx:439: parse error before `)' slMODfile.cxx:439: stray '\' in program slMODfile.cxx:441: `lLen' undeclared (first use this function) slMODfile.cxx:444: stray '\' in program slMODfile.cxx:444: invalid type argument of `unary *' slMODfile.cxx:444: parse error before `;' slMODfile.cxx:456: parse error before `]' slMODfile.cxx:476: stray '\' in program slMODfile.cxx:476: invalid type argument of `unary *' slMODfile.cxx:476: parse error before `;' slMODfile.cxx:486: `pp0' undeclared (first use this function) slMODfile.cxx:500: `n' undeclared (first use this function) slMODfile.cxx:512: declaration of `int MODfile::update()' outside of class is no t definition slMODfile.cxx:512: parse error before `{' slMODfile.cxx:544: `return' with a value, in function returning void slMODfile.cxx:549: `return' with a value, in function returning void slMODfile.cxx:438: warning: unused variable `unsigned int len' slMODfile.cxx:555: declaration of `unsigned char * MODfile::read_whole_file(char *, int *)' outside of class is not definition slMODfile.cxx:555: parse error before `{' slMODfile.cxx:560: `fname' undeclared (first use this function) slMODfile.cxx:566: `return' with a value, in function returning void slMODfile.cxx:569: `statbuf' undeclared (first use this function) slMODfile.cxx:572: `return' with a value, in function returning void slMODfile.cxx:577: conflicting types for `unsigned char * p' slMODfile.cxx:425: previous declaration as `struct SampleInfo * p' slMODfile.cxx:581: `len' undeclared (first use this function) slMODfile.cxx:584: `return' with a value, in function returning void slMODfile.cxx:484: warning: `unsigned char * p' might be used uninitialized in t his function slMODfile.cxx: At top level: slMODfile.cxx:652: confused by earlier errors, bailing out make[2]: *** [slMODfile.o] Error 1 make[2]: Leaving directory `/plib/src/sl' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/plib/src' make: *** [all-recursive] Error 1 ..... |
From: Steve B. <sjb...@ai...> - 2000-10-13 14:11:28
|
Ben Discoe wrote: > But, this makes a triangle which is white, not green. Stepping into the SSG > code, i discovered that in the function ssgVtxTable::draw_geometry(), there > is the line: > if ( num_colours == 0 ) glColor4f ( 1.0f, 1.0f, 1.0f, 1.0f ) ; That's a very carefully considered decision - don't mess with it! OK - there is a common misconception about ssgState's: **** THERE IS NO "DEFAULT" VALUE FOR ANY FIELD OF AN SSGSTATE **** The 'default' is that if you don't set some attribute of the state, SSG won't set it - and you'll get whatever garbage happens to be set up in OpenGL at the time. You *MUST* set precisely those state elements that you need and pay attention to NOT setting the ones you truly don't care about. This has THREE very important benefits: 1) Speed. Since there are many aspects to OpenGL state, if I had to set them all up before drawing every Leaf node, we would be there all night doing pre-triangle setup. Hence, you only set what you care about and I don't waste time setting up parameters you care nothing about. 2) Some applications want to set a particular state globally. By leaving that state out of all of your primitives, you can set that state yourself in the application and SSG won't mess with it. 3) Future enhancements. If there is some aspect of OpenGL state that SSG doesn't manage (there are quite a few) - and so the application sets it up, then if ssgState had a default for everthing, we would not be able to extend the coverage of ssgState in the future without breaking existing programs. With the default being "don't change anything", we could (hypothetically) decide to implement (say) bump mapping in ssgState without destroying programs that already set that up outside of SSG. Of these, speed is by far the most important. > This forces all primitives to white if they don't have a color per vertex! No - it sets them to white if you didn't give the LEAF node a colour. That's a very rare circumstance in practice. (Notice the comments earlier about there not being defaults applied to *STATE* structures not *LEAF* structures.) > I worked around this problem by making and using a subclass of ssgVtxTable > with a draw_geometry that doesn't make this assumption. The triangle was > still white, so i found the next problem. Nah - that was wrong. > In ssgSimpleState::apply(), it uses glMaterialfv to set the diffuse color. > However, GL is in "Color Material" mode by default, so the glMaterialfv > calls have no effect, making the shape default white. It's unwise to rely on OpenGL's default state. Many implementations get that wrong. No - it's simply that you didn't enable or disable GL_COLOR_MATERIAL explicitly and you didn't set the glColorMaterial setting to (say) GL_AMBIENT_AND_DIFFUSE in the ssgStates that needed that. > I tried to solve this problem by adding a statement to the triangle code: > state->disable(GL_COLOR_MATERIAL); OK - that's going to mean that the polygon colour is entirely determined by the glMaterial - but *ONLY* if GL_LIGHTING is enabled. > But, another problem (bug?) in ssgSimpleState::apply() prevents this from > working. The Enable/Disable state code, required to disable "Color > Material", is called *after* the glMaterialfv code, but OGL requires the > glMaterialfv call to come after! That's *REALLY* unclear in the OpenGL spec. Many of the experts (including two members of the ARB) have disagreed on this point. Mesa *used* to behave as you have described it - but the latest versions do not. It's a mess! > So, i tried to work around this by changing the order in ssgSimpleState.cxx. > > That worked, so i finally got a green triangle. What OpenGL implementation do you have - and what PLIB are you using? > Surely there is some way to do simple colored geometry without all the > hacking i had to do? Yes - 99% of people put the colour in the leaf node and enable GL_COLOR_MATERIAL. This is presumed to be faster than changing the colour with glMaterial (the OpenGL RedBook says that somewhere) - and you can change the colour with vertex arrays, etc. It's *possible* that you have found a bug in the state apply code - but I'm not convinced that it isn't an error in your OpenGL - or something else screwed up. Can you mail me a short example program so that I can investigate more carefully? > Please help, i would really love to be able to use SSG. Sure - I'm always anxious to help people with interesting applications. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Ben D. <be...@wa...> - 2000-10-13 03:46:51
|
I'm in the process of porting my whole 3d project over to PLIB/SSG, and mostly it's great, but i'm having a lot of trouble trying to build some simple geometry with SSG. As an example, consider a plain green triangle. You might think that the following code would work: sgVec4 color; sgVec3 pos; ssgSimpleState *state = new ssgSimpleState(); sgSetVec4(color, 0.0f, 1.0f, 0.0f, 1.0f); state->setMaterial(GL_DIFFUSE, color); ssgVertexArray *vertices = new ssgVertexArray(3); ssgNormalArray *normals = new ssgNormalArray(3); ssgVtxTable *pVtx = new ssgVtxTable(GL_TRIANGLES, vertices, normals, NULL, NULL); for (int i = 0; i < 3; i++) { double a = i * PI2f / 3.0f; sgSetVec3(pos, cos(a), sin(a), 0); vertices->add(pos); sgSetVec3(pos, 0, 0, 1); normals->add(pos); } pVtx->setState(state); But, this makes a triangle which is white, not green. Stepping into the SSG code, i discovered that in the function ssgVtxTable::draw_geometry(), there is the line: if ( num_colours == 0 ) glColor4f ( 1.0f, 1.0f, 1.0f, 1.0f ) ; This forces all primitives to white if they don't have a color per vertex! I worked around this problem by making and using a subclass of ssgVtxTable with a draw_geometry that doesn't make this assumption. The triangle was still white, so i found the next problem. In ssgSimpleState::apply(), it uses glMaterialfv to set the diffuse color. However, GL is in "Color Material" mode by default, so the glMaterialfv calls have no effect, making the shape default white. I tried to solve this problem by adding a statement to the triangle code: state->disable(GL_COLOR_MATERIAL); But, another problem (bug?) in ssgSimpleState::apply() prevents this from working. The Enable/Disable state code, required to disable "Color Material", is called *after* the glMaterialfv code, but OGL requires the glMaterialfv call to come after! So, i tried to work around this by changing the order in ssgSimpleState.cxx. That worked, so i finally got a green triangle. Surely there is some way to do simple colored geometry without all the hacking i had to do? Please help, i would really love to be able to use SSG. Thanks, Ben Discoe http://vterrain.org/ |
From: Sam S. <sa...@sp...> - 2000-10-12 15:47:08
|
> > I think it's only on RedHat 7.0 as a getout for Alan Cox's decision to the > > development release of gcc. > > So they were WELL AWARE of what they were doing - and the kernel guys complained > and they STILL WENT AHEAD! Yikes! This is much worse than I thought. Well we're getting wildly offtopic but here's Alan Cox's statement on the gcc inclusion: ---- From there, the argument ensued at full strength, with Linux kernel developer and Red Hat employee Alan Cox taking up the cause of Red Hat's decision to release Red Hat 7 with these packages. Cox's primary argument was that the inclusion of application like GCC 2.96 is innovative progress for users of Red Hat 7. "I want people to be prepared to ship new and innovative things," Cox wrote in the discussion, "If everyone complains about not shipping precise reference kernels, then all of a sudden for [kernel] 2.2 I become some anointed high power for approval for vendors--that is something I don't wish to be and which would be very, very bad for Linux. Do you really want a world where you cannot buy a distribution with 2.2 that has Reiserfs because Alan Cox refused to merge it with the mainstream?" ---- And later on ---- Cox's comments were echoed by Eric Troan, Red Hat's VP of Product Engineering in an online interview with Linux Today. "The questions which have arrived over the compiler is actually about the user-space compiler we ship, not the kernel compiler. The kernel compiler is essentially the same version we shipped in the last couple of Red Hat releases," Troan explained. "The user space is based on a snapshot version of gcc, which we have tested extensively inside of Red Hat. While no compiler is perfect, we've built tens of millions of lines of code and it works very well for us." ---- But most worrying is this statement: ---- Troan went on to outline Red Hat's position towards the accusations that Red Hat is attempting to depart from the Linux standard. "As for the compatibility issues, we do think binary compatibility between Linux distributions is very important. We do not ship kernels with extra APIs unless Linus Torvalds has accepted those new APIs into the development kernel trees. Likewise, we work hard to maintain full backwards compatibility," Troan said. "As the Linux Standard Base (LSB) group gets finalized, Red Hat will be fully compliant with it's recommendations, ensuring that LSB compatible applications will run on the widest varieties of Linux-compatible systems possible," Troan continued, "Fragmenting the Linux binary APIs will not help anyone. "Moving Linux forward is important, however. Doing that requires changes that can make it difficult to move applications from newer systems to older ones. This is inevitable, and every platform vendor has this type of problem (applications built for Windows 2000 apps do not work on Windows 98, for example, and Solaris applications do not run on SunOS). The LSB will provide a common denominator to allow application compatibility between releases while still providing a path for new features to be added to Linux distribution," Troan explained. ---- (He's wrong btw, apps compiled under Windows 2000 run just fine on 98 providing you don't make use of any API's that don't exist on 98). Sam > > > > alias gcc kgcc > > > > > > > > might do the trick > > > > > > ...and g++ ==> kg++ ? > > > > > > I don't think an 'alias' will work BTW, the Makefile system probably uses > > > bash or something. > > > > Yeah, I was thinking it might do that but I don't have to much experience > > with the way Unix shells handle their environments. I supposed you could > > add the aliases to.bashrc but to... > > The way things are set up is to try to avoid user's own aliases creeping > into scripts and Makefiles and such. People like to do thing like: > > alias ls ls -al > alias rm rm -i > alias test /home/steve/binaries/my_test_program > > ...which can play **HAVOC** with system scripts, configure scripts and > Makefiles!! > > The system doesn't prevent you from doing things like that (because > UNIX likes to give you all the power it can) - but it is mildly > resistant to non-knowledgeable users tinkering. > > > > rename the original gcc/g++ to something else and > > > symlink to them to kgcc or whatever. > > > > ...is probably a better solution. > > Yes. > > -- > Steve Baker HomeEmail: <sjb...@ai...> > WorkEmail: <sj...@li...> > HomePage : http://web2.airmail.net/sjbaker1 > Projects : http://plib.sourceforge.net > http://tuxaqfh.sourceforge.net > http://tuxkart.sourceforge.net > http://prettypoly.sourceforge.net > _______________________________________________ > plib-users mailing list > pli...@li... > http://lists.sourceforge.net/mailman/listinfo/plib-users > |
From: Steve B. <sjb...@ai...> - 2000-10-12 13:06:15
|
Sam Stickland wrote: > > > > You might want to downgrade your gcc to something that works. RedHat > > > > are coming in for a lot of flak over their decision to ship a > relatively > > > > poorly tested beta version. > > > > > > No need. Type recompiling everything with kgcc instead of gcc. kgcc is > the > > > Linus blessed version for compiling kernals. > > > > I havn't heard of that. It's not installed on SuSE Linux. > > I think it's only on RedHat 7.0 as a getout for Alan Cox's decision to the > development release of gcc. So they were WELL AWARE of what they were doing - and the kernel guys complained and they STILL WENT AHEAD! Yikes! This is much worse than I thought. > > > alias gcc kgcc > > > > > > might do the trick > > > > ...and g++ ==> kg++ ? > > > > I don't think an 'alias' will work BTW, the Makefile system probably uses > > bash or something. > > Yeah, I was thinking it might do that but I don't have to much experience > with the way Unix shells handle their environments. I supposed you could > add the aliases to.bashrc but to... The way things are set up is to try to avoid user's own aliases creeping into scripts and Makefiles and such. People like to do thing like: alias ls ls -al alias rm rm -i alias test /home/steve/binaries/my_test_program ...which can play **HAVOC** with system scripts, configure scripts and Makefiles!! The system doesn't prevent you from doing things like that (because UNIX likes to give you all the power it can) - but it is mildly resistant to non-knowledgeable users tinkering. > > rename the original gcc/g++ to something else and > > symlink to them to kgcc or whatever. > > ...is probably a better solution. Yes. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Sam S. <sa...@sp...> - 2000-10-12 10:50:43
|
----- Original Message ----- From: "Steve Baker" <sjb...@ai...> To: <pli...@li...> Sent: Wednesday, October 11, 2000 12:04 PM Subject: Re: [Plib-users] Library Initialization > Sam Stickland wrote: > > > > You might want to downgrade your gcc to something that works. RedHat > > > are coming in for a lot of flak over their decision to ship a relatively > > > poorly tested beta version. > > > > No need. Type recompiling everything with kgcc instead of gcc. kgcc is the > > Linus blessed version for compiling kernals. > > I havn't heard of that. It's not installed on SuSE Linux. I think it's only on RedHat 7.0 as a getout for Alan Cox's decision to the development release of gcc. > > alias gcc kgcc > > > > might do the trick > > ...and g++ ==> kg++ ? > > I don't think an 'alias' will work BTW, the Makefile system probably uses > bash or something. Yeah, I was thinking it might do that but I don't have to much experience with the way Unix shells handle their environments. I supposed you could add the aliases to.bashrc but to... > rename the original gcc/g++ to something else and > symlink to them to kgcc or whatever. ...is probably a better solution. Sam |
From: Norman V. <nh...@ca...> - 2000-10-11 21:59:56
|
Steve Baker writes: > >Norman Vine wrote: > >> Also FWIW there is some 'ugly' code in the FlightGear >> Source cockpit / hud.hxx >> that I used to speed up PLib text when I 'KNEW' >> that I was rendering a lot of text with no intervening >> glstate changes. >> >> class fgText >> class fgTextList >> >> This code could probably be cleaned up a little bit >> but it served its purpose for me as is :-) > >I don't know that code - but I thought about this very >carefully when I wrote the FNT library. > >You *should* be able to avoid state costs when rendering >text by using the begin()/end() member functions to >bracket your rendering. Did you need something beyond >that? I'd be suprised. I worded that wrong I should have said There are a couple of utility classes in FlightGear that demonstrate a method of collecting all of your Text and Line primitives into 'displaylist' like structures for 'all at once' rendering. I found these useful so that I did not kill the frame rate with unnecessary state changes when drawing things like multiple HUD instruments that intersperse textured text and other graphic primitives Norman |
From: Steve B. <sjb...@ai...> - 2000-10-11 21:20:48
|
Norman Vine wrote: > Also FWIW there is some 'ugly' code in the FlightGear > Source cockpit / hud.hxx > that I used to speed up PLib text when I 'KNEW' > that I was rendering a lot of text with no intervening > glstate changes. > > class fgText > class fgTextList > > This code could probably be cleaned up a little bit > but it served its purpose for me as is :-) I don't know that code - but I thought about this very carefully when I wrote the FNT library. You *should* be able to avoid state costs when rendering text by using the begin()/end() member functions to bracket your rendering. Did you need something beyond that? I'd be suprised. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Steve B. <sjb...@ai...> - 2000-10-11 19:17:41
|
Don Lafontaine wrote: > I'm thinking of replacing "glf" fonts with plib fonts. I hope to get a > little more speed out of my project. It uses text pretty heavily compared > to the average OpenGL program. Well, if you are not currently using texturemapped fonts and assuming you have a hardware-accellerated OpenGL implementation then you'll get a huge speedup from using PLIB's "FNT" library. Textured fonts can be tricky though - they tend to get hard to read when scaled down and can look terrible when scaled up. If you don't have hardware accellerated OpenGL then FNT will probably slow things down rather than speed them up. If you are already using textured fonts then I won't make any promises! I have a FAQ about font rendering that you may find instructive: http://web2.airmail.net/sjbaker1/opengl_text.html ...it has links to several other OpenGL font libraries (but use PLIB anyway! :-) -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |