pfGeoSet with PFGS_POLYS

New Message Reply Date view Thread view Subject view Author view

Bruno Rassaerts (brassaer++at++luc.ac.be)
Wed, 08 Jan 1997 17:56:29 +0100


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.

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

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.