-
Ell authored
Improve gimp_gegl_mask_combine_ellipse_rect() -- the funciton responsible for rendering ellipse/rounded-rectangle selections. Most notably, this commit significantly improves the function's performance, by identifying whole tiles, whole rows, or parts of a row, that are fully inside, or fully outside, the ellipse, and filling them in bulk, instead of calculating the anti-aliasing value at each pixel, which is now only done along the circumference. This commit also improves anti-aliasing, by more accurately approximating the distance from a pixel to the ellipse, and by normalizing the distance according to the pixel's cross-section length in the direction of the said point. In particular, we guarantee that pixels that are fully inside/outside the ellipse have a value of 1/0, respectively, facilitating the aforementioned optimization. Additionally, this commit fixes various edge cases where several primitives coincide at a single pixel (in the rounded...
10443423