Hi,
On Thu, 2011-03-24 at 17:25 +0100, Johannes Brunen wrote:
> Hi,
> "Gerrit Vo" <[email protected]> schrieb im
> Newsbeitrag news:[email protected]...
> >> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users