UV: add support for the SLIM unwrapping algorithm

Integrate an existing implementation of the SLIM unwrapping algorithm
into Blender. More info about SLIM here:
https://igl.ethz.ch/projects/slim/

This commit is based on the integration code written by Aurel Gruber
for Blender 2.7x (unfinished and never merged with the main branch).

This commit is based on Aurel's code, rebased and further improved.

Details:

- Unwrap has been moved into a sub-menu,
  slim unwrapping is exposed as: "Minimum Stretch".
- Live unwrap with SLIM refines the solutions using a timer.
- When using SLIM there are options to:
  - Set the number of iterations.
  - Weight the influence using vertex weights.
- SLIM can be disabled using the `WITH_UV_SLIM` build option.

Co-authored-by: Aurel Gruber <aurel.gruber@infix.ch>

Ref !114545
This commit is contained in:
Lukasz Czyz
2024-09-21 11:16:06 +10:00
committed by Campbell Barton
parent 427be373f7
commit 788bc5158e
47 changed files with 5121 additions and 164 deletions

View File

@@ -61,6 +61,9 @@
/** \defgroup intern_sky_model Sky Model
* \ingroup intern */
/** \defgroup intern_slim SLIM Solver for UV Unwrapping
* \ingroup intern */
/** \defgroup intern_utf_conv UTF-8/16 Conversion (utfconv)
* \ingroup intern */