[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #38779] patch failure with quadrilateral face
From: |
Michael Goffioul |
Subject: |
[Octave-bug-tracker] [bug #38779] patch failure with quadrilateral face |
Date: |
Mon, 24 Mar 2014 13:24:41 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36 |
Follow-up Comment #6, bug #38779 (project octave):
I've done some more debugging, which gave a few additional clues. I don't have
more time to allocate to this atm.
As part of the tessellation process, as described in [1], the polygon is
projected onto a plane, where the triangulation is done. In this case, it
determines that the projection plane is perpendicular to Y axis. So the GLU
algorithm considers that the first 2 vertices of the polygon create a
degenerated edge and merge them.
What I've noticed is that the problem starts to appear when the Y coordinate
gradient becomes small compared to the other axis. So a possible way to
mitigate the problem can be to prescale/normalize the coordinates before
sending them to OpenGL (which would also solve the problem of limited
precision of floating point numbers). Though I'm not sure this would be a
perfect solution, and you could still find edge cases where this problem
occurs while tessellating non-planar polygons.
[1]
http://stackoverflow.com/questions/12852029/what-is-the-algorithm-behind-the-glutess-functions
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?38779>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/