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
43 lines
909 B
CMake
43 lines
909 B
CMake
# SPDX-FileCopyrightText: 2023 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# Derived from `libigl`, a simple C++ geometry processing library.
|
|
|
|
set(INC
|
|
./
|
|
../../source/blender/blenlib
|
|
../../intern/guardedalloc
|
|
)
|
|
|
|
set(INC_SYS
|
|
${EIGEN3_INCLUDE_DIRS}
|
|
)
|
|
|
|
set(SRC
|
|
slim_matrix_transfer.h
|
|
|
|
intern/area_compensation.cpp
|
|
intern/area_compensation.h
|
|
intern/cotmatrix.h
|
|
intern/doublearea.h
|
|
intern/edge_lengths.h
|
|
intern/flip_avoiding_line_search.h
|
|
intern/geometry_data_retrieval.cpp
|
|
intern/geometry_data_retrieval.h
|
|
intern/least_squares_relocator.cpp
|
|
intern/least_squares_relocator.h
|
|
intern/slim.cpp
|
|
intern/slim.h
|
|
intern/slim_matrix_transfer.cpp
|
|
intern/slim_parametrizer.cpp
|
|
intern/uv_initializer.cpp
|
|
intern/uv_initializer.h
|
|
)
|
|
|
|
set(LIB
|
|
)
|
|
|
|
blender_add_lib(bf_intern_slim "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
add_library(bf::intern::slim ALIAS bf_intern_slim)
|