Summary: | X does not fill self-intersecting boundaries correctly | ||
---|---|---|---|
Product: | xorg | Reporter: | Alan W. Irwin <Alan.W.Irwin1234> |
Component: | Server/General | Assignee: | Xorg Project Team <xorg-team> |
Status: | RESOLVED NOTOURBUG | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 7.5 (2009.10) | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Alan W. Irwin
2011-03-01 10:05:16 UTC
Created attachment 43980 [details]
The complex boundary curves for the nine fill-rendering tests
Created attachment 43981 [details]
Illustration of fill errors for the 4th test case with the EvenOddRule fill rule
Created attachment 43982 [details]
Illustration of the good fill result for first test case with the WindingRule fill rule
Created attachment 43983 [details]
Illustration of fill errors for the 4th test case with the WindingRule fill rule
For the svn trunk version of PLplot, you can now choose the two different fill rules at run-time as follows: # non-zero winding number fill rule examples/c/x27c -dev xwin # even-odd fill rule examples/c/x27c -dev xwin -eofill As of revision 11591 of PLplot svn trunk, I have changed example 27 so that the maximum phi and phiw values are the smallest possible integers times 2 pi. The previous incorrect maximum values for these numbers so complicated the boundary (with many duplicate boundaries) that correct fills were being generated that looked incorrect for the -eofill case. The incorrect maximums also caused a large last boundary segment that introduced small but noticable asymmetries into the case without -eofill. Now these example 27 issues have been fixed, the results with -eofill are not only correct but also beautiful while results without -eofill are also correct (symmetrical). Accordingly I am changing the status of the "bug" to RESOLVED/NOTOURBUG. My thanks to M Joonas Pihlaja of the cairo team for a strong hint that lead me to a solution for these initial extremely puzzling fill results for the self-intersecting boundary case. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.