Re: pfGeoSet with PFGS_POLYS

New Message Reply Date view Thread view Subject view Author view

Sharon Clay (src++at++rose.asd.sgi.com)
Wed, 8 Jan 1997 10:50:49 -0800


+>---- On Jan 8, 5:56pm, Bruno Rassaerts wrote:
> Subject: pfGeoSet with PFGS_POLYS
->
->Hi,
->
->In a Performer program that I'm working on, I need pfGeoSets with
->the PFGS_POLYS flag. When creating a geoset like this I fill in
->the lengths array with the correct number of vertices for each
->polygon. The problem is that perfly crashes on these geosets. I
->tried other sample programs and they seem to work.
->
->For testing purposes I created a geoset with triangles but still
->used the PFGS_POLYS flag and create a lengths array with all the
->values set to 3. The perfly program still crashes on the geoset.
->When I change the primtype flag to PFGS_TRIS without changing
->anything else perfly seems to work just fine.

By any chance are yu running Performer 2.0 with no Performer patches?
This smells like a bug that we fixed in the 2.0.2 patches (1347 and 1392) and
fixed in 2.1.

src.

-- 
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Systems Dev.
src++at++sgi.com  (415) 933 - 1002  FAX: (415) 965 - 2658  MS 8U-590
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++

attached mail follows:


Date: Wed, 08 Jan 1997 17:56:29 +0100
From: Bruno Rassaerts
To: info-performer++at++sgi.com
Subject: pfGeoSet with PFGS_POLYS
In a Performer program that I'm working on, I need pfGeoSets with the PFGS_POLYS flag. When creating a geoset like this I fill in the lengths array with the correct number of vertices for each polygon. The problem is that perfly crashes on these geosets. I tried other sample programs and they seem to work.

For testing purposes I created a geoset with triangles but still used the PFGS_POLYS flag and create a lengths array with all the values set to 3. The perfly program still crashes on the geoset. When I change the primtype flag to PFGS_TRIS without changing anything else perfly seems to work just fine.

My code looks like this: /******************************/ create coords array, create lengths array (shared arena)

geode = pfNewGeode (); gset = pfNewGSet (arena); pfGSetAttr (gset, PFGS_COORD3, PFGS_PER_VERTEX, coords, NULL); pfGSetPrimLengths (gset, lengths); pfGSetNumPrims (gset, lengthsCount); pfGSetPrimType (gset, PFGS_POLYS); pfAddGSet (geode, gset); pfAddChild (parent, geode); /******************************/

I am sure that the coords and lengths arrays are correct. I checked them using pfPrint. I was wondering if one should do something extra when using PFGS_POLYS.

Perfly crashes in the following functions. (Note: I did not change the perfly program, this is the standard version.)

0 cacheTri(_pfTriCache*,pfVec3&,pfVec3&,pfVec3&)(0x1810b780, 0x38d81970, 0xd3c3c460, 0x180f8f48) ["../../../lib/libpr/pfGeoSet.C":2142, 0x61eb38] 1 pfGeoSet::pr_computeCache(void)(0x180d8dd0, 0x38d81970, 0xd3c3c460, 0x180f8f48) ["../../../lib/libpr/pfGeoSet.C":2304, 0x629fc0] 2 pfGeoSet::setIsectMask(unsigned int,int,int)(0x180d8dd0, 0xffffffff, 0xb0, 0x2) ["../../../lib/libpr/pfGeoSet.C":1359, 0x6288dc] 3 pfGeode::nb_setTravMask(int,unsigned int,int,int)(0x180d0720, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/pfGeode.C":505, 0x4fa25c] 4 pfGroup::nb_setTravMask(int,unsigned int,int,int)(0x180d6c20, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/pfGroup.C":478, 0x4fd50c] 5 pfGroup::nb_setTravMask(int,unsigned int,int,int)(0x180d06a0, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/pfGroup.C":478, 0x4fd50c] 6 pfGroup::nb_setTravMask(int,unsigned int,int,int)(0x180f2b30, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/pfGroup.C":478, 0x4fd50c] 7 pfGroup::nb_setTravMask(int,unsigned int,int,int)(0x180d8d40, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/pfGroup.C":478, 0x4fd50c] 8 pfNodeTravMask(0x180d8d40, 0x0, 0xffffffff, 0xb0) ["../../../lib/libpf/cNode.C":37, 0x540370] 9 pfuCollideSetup(0x180d8d40, 0x0, 0xffffffff, 0x180f8f48) ["../../../lib/libpfutil/collide.c":80, 0x4aef98] 10 InitScene(0x1810b780, 0x38d81970, 0xd3c3c460, 0x180f8f48) ["../../../../../sample/apps/C/common/generic.c":342, 0x461e48] 11 main(0x4, 0x7fff2f44, 0xd3c3c460, 0x180f8f48) ["../../../../../sample/apps/C/common/main.c":104, 0x4613a0] 12 __start() ["crt1text.s":133, 0x4612ac]

bye,

-- 
  //       Bruno Rassaerts - EDM (Expertisecentrum Digitale Media)
 ('>    Wetenschapspark 2 - B-3590 Diepenbeek - Tel: +32-(0)11268411
 /rr         Fax: +32-(0)11269400 - eMail: brassaer++at++luc.ac.be
*\))_               URL: http://www.luc.ac.be/~brassaer/
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

======================================================================= List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/ Submissions: info-performer++at++sgi.com Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:54:17 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.