Fix T47353: Project paint ignores small faces

When zoomed out - faces < 0.5 pixels across a diagonal aren't so rare,
so culling them can ignore small faces.
This commit is contained in:
Campbell Barton
2016-02-08 11:48:03 +11:00
parent ce6ba15727
commit ba1ca9148d

View File

@@ -2096,8 +2096,9 @@ static void project_bucket_clip_face(
/* detect pathological case where face the three vertices are almost collinear in screen space.
* mostly those will be culled but when flood filling or with smooth shading it's a possibility */
if (dist_squared_to_line_v2(v1coSS, v2coSS, v3coSS) < 0.5f ||
dist_squared_to_line_v2(v2coSS, v3coSS, v1coSS) < 0.5f)
if (min_fff(dist_squared_to_line_v2(v1coSS, v2coSS, v3coSS),
dist_squared_to_line_v2(v2coSS, v3coSS, v1coSS),
dist_squared_to_line_v2(v3coSS, v1coSS, v2coSS)) < PROJ_PIXEL_TOLERANCE)
{
collinear = true;
}