[call for testing v2] clients: add cliptest program
Pekka Paalanen
ppaalanen at gmail.com
Tue Sep 11 03:38:01 PDT 2012
On Tue, 11 Sep 2012 11:14:09 +0200
Birin Sanchez <birintxo at gmail.com> wrote:
> Hi Pekka,
Hi Birin!
> I gave a try to v2 of cliptest and found something that might be
> interesting. See attached screenshot.
>
> This is how to get those extra 4 vertex:
>
> * Move the clipping area to cover the surface with exactly the same
> size, you'll see 4 vertex as expected
> * Press 'n' or 'm' to get the surface to spin at least 4 times
> * From the 4th spin onwards you'll see the extra 4 vertex. If you
> make the surface to spin in the other direction the extra vertex will
> disappear.
>
> I guess this is due to float rounding errors.
Yes, but at least the vertices are not clearly duplicate. It is hard to
set the limit on what fraction of a pixel is significant enough that we
need to compute the intersection. There is a somewhat arbitrary limit
hardcoded now, and the value is a trade-off between geometric
correctness and number of vertices.
When you spin the red box enough, the rounding errors accumulate, and
the angle (the orientation is stored as a single angle in cliptest) is
no longer approximately the multiple of 2pi. The red box is tilted
enough for the algorithm to compute intersections instead of rounding
back to a quadrilateral. At least I assume so.
Therefore, I do not consider this a bug.
Now that I think of it, I could probably do with a lot smaller rounding
threshold than the 4e-5, since your extra vertices are a result of the
intersection code working *right*.
> Apart from this issue I couldn't find any other problems.
Thank you very much for testing!
- pq
More information about the wayland-devel
mailing list