Hi, On Thu, 2011-03-24 at 17:25 +0100, Johannes Brunen wrote: > Hi, > "Gerrit Vo" <vo...@vossg.org> schrieb im > Newsbeitrag news:1300972613.2866.101.ca...@feynman.camtech.ntu.edu.sg... > >> I think that this is to conservative. The geometry might be partely > >> striped. > >> For instance the facetter I use does produce quads and quad stripes > >> beside > >> of triangle stripes and fans. > > > > a ok, so a better condition would be to check for non triangular > > primitives ? > > > yes
I changed it to: bool gotNonTriangles = false; bool gotTriStrips = false; for(UInt32 i = 0; i < t->size(); ++i) { switch(t->getValue(i)) { case GL_TRIANGLE_STRIP: case GL_TRIANGLE_FAN: gotTriStrips = true; break; case GL_QUADS: case GL_QUAD_STRIP: case GL_POLYGON: gotNonTriangles = true; break; default: break; } if(gotNonTriangles == true) break; } if(gotNonTriangles == false && gotTriStrips == true ) { return true; } This should catch all the cases where it needs to stripe (non triangles present or only triangles). For a combination of strips, fans and triangles the striper will not be run. I also fixed the GroupMergeGraphOp. The crash should be gone. I also changed the logic in two places so it keeps transforms with no children as they are often used as beacons and when removing a group it will copy the attachments (except name) to the parent, so your structural attachments are preserved. This should should solve the problem that with your old test file (23/02/11) the beacons where not valid after the graphop was run. I will start to look into the remaining GraphOps. kind regards gerrit ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users