Page MenuHome

Exact boolean leaves behind odd vertices once Applied
Confirmed, NormalPublic

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: AMD FirePro W2100 ATI Technologies Inc. 4.5.13493 Core Profile Context FireGL 22.19.693.256

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-08-31 22:30, hash: rB4e06afb0a1d6
Worked: (newest version of Blender that worked as expected)

Short description of error
The new Exact boolean seems to leave behind several odd vertices if you Apply the modifier in certain circumstances. Even without applying you can see shading artifacts if the boolean'd object has Smooth shading enabled on it.

It's difficult to determine where these verts are coming from… perhaps from internal triangulation of the mesh during boolean processing?

Exact steps for others to reproduce the error

  • Open the provided .blend
    • Contains a 32 sided cylinder with a 32 segment Torus subtracted from it using Exact mode
  • You can already see the issue if you enable "Smooth shading" for the cylinder
  • Apply the boolean
  • Go into Edit mode for the Cylinder and notice the following
    • A Merge-by-Distance operation is required to remove 175 vertices (which is already odd; expected at most 64 really and ideally 0 to be removed)
    • Rogue verts. See below:

Event Timeline

Thanks, I will check it out.

The rogue vertices are, I think, remnants of diagonal intersections that were not removed, but I need to investigate this more.

The many unexpected merge-by-distance verts removed is, I think, because the torus and cylinder probably use slightly different math to make the matrices used during their formation, so the vertices don't coincide exactly. The new code is not trying to merge close vertices, so for now, that part is "working as intended" for the new code.

I will leave this open to see what is going on with the obviously rogue vertices.