15623b26b93d96508fd28afedba5efa5dcce60d0
Custom normals are interpolated with the new Manifold boolean code. In the other two solvers, there is no interplation for the CD_PROP_INT16_2D type so custom normals were left at (0,0) when an exact copy from the input corner isn't possible. The new code for manifold first does a join mesh, which converts custom normals to float3, which can be (and are) interpolated. However, if the input face (or face fragment) has flipped normal in the boolean output, then the custom normal should be flipped to. The fix is to do that for attributes called "custom_normal". The general case of a "normal-like" thing with a different name remains unsolved, but I doubt that case comes up often.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
