home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.graphics:9455 comp.windows.x.pex:530 comp.unix.aix:9396
- Newsgroups: comp.graphics,comp.windows.x.pex,comp.unix.aix
- Path: sparky!uunet!stanford.edu!ames!pacbell.com!well!levine
- From: levine@well.sf.ca.us (Ron Levine)
- Subject: Re: IBM's graPHIGS package, problem with GPNBS, any hint?
- Message-ID: <Bu2BFs.Lzw@well.sf.ca.us>
- Summary: graPHIGS uses non-standard NURBS data.
- Keywords: PHIGS, graPHIGS, NURBS
- Sender: news@well.sf.ca.us
- Organization: Whole Earth 'Lectronic Link
- References: <1484@igd.fhg.de>
- Date: Fri, 4 Sep 1992 16:35:51 GMT
- Lines: 41
-
- In article <1484@igd.fhg.de> pfuetz@igd.fhg.de (Matthias Pfuetzner) writes:
- >Hi Everybody!
- >
- >I have a problem with IBM RS/6000 graPHIGS library and the GPNBS call.
- >
- >Simply said: The above call inserts the corresponding element into the
- >structure store, but I don't see nothing on the screen!
- >
- >I checked whether the currently open workstation supports non-uniform B-spline
- >surfaces (it does), what the maximum order is (6, I only use 2x3 and sometimes
- >3x3), so that I'm sure, this primitive is available.
- >
- >Before inserting the GPNBS I inserted "pfill_area_set3" using the ISO C
- >Binding provided under /usr/lpp/graPHIGS/samples/cbinding, so that I can use
- >mixed calls for those routines that are currently not supported in ISO C
- >Binding form. This fill_area_set3 is properly drawn, so that I'm sure the
- >workstation is opened correctly. The data I supply for the B-spline surface is
- >OK, as I am also using libphigs.a (producing PEX calls) on the IBM and on Sun
- >workstations with X11R5 by MIT. With these libraries I see my surface!
- >
- .... stuff deleted...
-
- I'm not sure this is your problem, but it's worth checking:
-
- I haven't worked directly with graPHIGS, but a couple of years ago, when
- porting a graPHIGS demo application to DEC PHIGS, I discovered that for the
- RATIONAL B-spline case, graPHIGS expects DIFFERENT data from DEC PHIGS,
- SunPHIGS, and most of the other implementations. Namely, for the coordinate
- 4-tuple for the weighted control points, graPHIGS expects the application to
- pass (x,y,z,w), while the other implementations expect (xw,yw,zw,w).
-
- The PHIGS PLUS DIS Specification document of February 14, 1991 is not
- absolutely clear on the point. It says simply that "When RATIONAL is
- specified the control points are specified as homogeneous modelling
- coordinates with the restriction that the fourth coordinate be greater than
- zero". Technically, the graPHIGS implementation does not violate the
- specification, because (x,y,z,w) are indeed homogeneous coordinates for the 3D
- point (x/w,y/w,z/w). I guess most people would say that the IBM
- interpretation is wrong, but I think it is preferable from the point of view
- of the application, because in most situations it would save the application
- the work of multiplying the 3D coordinates by the weights.
-