Maniphest T53999

Incorrect geometry with boolean operator
Closed, Resolved

Assigned To
Campbell Barton (campbellbarton)
Authored By
Paul Melis (paulmelis)
Feb 5 2018, 2:33 PM
Tags
  • BF Blender
Subscribers
Bastien Montagne (mont29)
David Hill (Hillda)
Paul Melis (paulmelis)
ronan ducluzeau (zeauro)
Sergey Sharybin (sergey)

Description

System Information

Arch Linux, GTX Titan

Blender Version

2.79a release candidate from blender.org

Short description of error

I have an object from which I subtract a cylinder, using a boolean difference modifier. Some of the edges of the resulting mesh are incorrect. The base object was also produced with a boolean difference, so maybe there is something wrong at that level already.

Exact steps for others to reproduce the error

See attached .blend. The result of t hole in the hemispherical object is not round. There's 4 edges that

Revisions and Commits

Related Objects

Mentioned In
rBf088c6b9f6d6: Mesh: concave quad support
D3052: Split quads across second/third verts in concave case
Mentioned Here
rBf088c6b9f6d6: Mesh: concave quad support
D3052: Split quads across second/third verts in concave case

Event Timeline

Paul Melis (paulmelis) created this task.Feb 5 2018, 2:33 PM
Paul Melis (paulmelis) added a comment.Feb 5 2018, 2:36 PM

(Ahum, submitted too soon :))

See the screenshot. There are four of these strange edges. The selected face actually seems to be drawn incorrectly with respect to its actual edges.

ronan ducluzeau (zeauro) added a subscriber: ronan ducluzeau (zeauro).EditedFeb 6 2018, 2:14 PM

There are worst bugs already listed about overlapping geometry.
I am not sure if this case of a shell should be considered as a duplicate or a different case.

Anyways, it is just a wrong choîce to triangulate an Ngon. User can easily fix this by adding a triangulate modifier after Boolean modifier or on Cylinder operand.

Sergey Sharybin (sergey) assigned this task to Campbell Barton (campbellbarton).Feb 7 2018, 3:53 PM
Sergey Sharybin (sergey) lowered the priority of this task from 90 to 50.
Sergey Sharybin (sergey) added a subscriber: Sergey Sharybin (sergey).

Apparently, happens with both Carve and BMesh boolean implementations. @campbellabrton, are you up for looking into this issue? :)

Campbell Barton (campbellbarton) added a subscriber: Bastien Montagne (mont29).EditedFeb 8 2018, 2:13 AM

This is not really related to booleans, it's more that quads always tessellate first to third vertices.
This has been reported before and we've closed as known-limitation/behavior.

This was because we used to use GL_QUAD (in 2.8x this is no longer the case), so the order of tessellation wasn't defined,
In fact on some ATI cards this would show correctly.

Since 2.8x defines tessellation, it's probably best we support concave quads (as we do concave ngons).

Submitted D3052 to support this, would like to get feedback from @Bastien Montagne (mont29) since this has implications elsewhere (exporters for eg).

Campbell Barton (campbellbarton) mentioned this in rBf088c6b9f6d6: Mesh: concave quad support.Feb 8 2018, 1:46 PM
Campbell Barton (campbellbarton) changed the task status from Unknown Status to Resolved.EditedFeb 8 2018, 1:49 PM

Fixed rBf088c6b9f6d69e7f1af15a059f122589ee6a39ab

Although this won't be for 2.79a since we need to see it doesn't cause issues for animators.

Campbell Barton (campbellbarton) merged a task: T54181: Mesh Cube has divided Face.Feb 27 2018, 3:10 AM
Campbell Barton (campbellbarton) added a subscriber: David Hill (Hillda).