Gregory D Abram:
> What is the difference between the polygons you want and the FLEs?  Aren't
> FLEs the superset?  

>From browsing _newtri.c briefly, I thought the answer was no. If FLEs should
handle any polygon set, are you saying that (in theory) DX should handle the
following with FLE fields:

   1) self-intersecting loops (e.g. figure 8)
   2) self-overlapping loops (i.e. edges coincident with other edges) 
   4) different loops intersecting or overlapping each other
   5) arbitrary planar loop sets in 3D which have no bearing on 2D topology

If so, then I completely agree.

I would add that polygons in DX should "just work", without any special user
actions.

> They are handled as you describe - tesselated in the
> renderer into triangles - even the OpenGL renderer.  In fact, its this
> tesselation that produces the topology error you mention - tessellating
> arbitrary loops in floating-point space is *hard*.  If there are cases that
> result in the topology error message, maybe we should just fix it (in
> _newtri.c).  BTW, there is an environment variable to set (DX_NESTED_LOOPS)
> that supports greater flexibility in the supported topology at the cost of
> a less efficient algorithm.

The $DX_NESTED_LOOPS trick seems to render some of the polygons I've been
working with that were causing problems.  So that polygons will "just work",
would you have any objections to the addition of a field attribute that
performs the function of "export DX_NESTED_LOOPS=1".  Say,

        attribute "polygons" value 1

or something along those lines?  I'll volunteer to implement and commit this.

Randy

P.S. While we're on the subject, attached are a few polys that fill 
incorrectly w/ or w/o the DX_NESTED_LOOPS trick.  Also, I notice that the
tessellator gets stuck in an infinite loop when fed arbitrary polygons with
DX_NESTED_LOOPS set.  If we go with FLEs for general polygons, I can isolate
which polys are causing the problem.





__________________________________________________
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com

Attachment: bad_poly1.dx
Description: bad_poly1.dx

Attachment: bad_poly2.dx
Description: bad_poly2.dx

Reply via email to