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

Reply via email to