Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeha <leha>2020-10-15 19:48:18 +0300
committerPablo Dobarro <pablodp606@gmail.com>2020-10-15 19:51:26 +0300
commit0fed1bea65d0f7f9e2f7ef58fa2e68ac3595e661 (patch)
tree147ec1360220deb4252972cde116a304bacf4098 /source/blender/blenkernel/intern/shrinkwrap.c
parente7ab802ab04d25532ee16153c55eaac290c877b0 (diff)
Improve Voxel Remesher volume projection artifacts on sharp edges
The voxel remesher was using the voxel size to limit the shrink-wrap projection distance. Now that distance is increased to help preserving more detail on hard surface edges. Reviewed By: pablodp606 Differential Revision: https://developer.blender.org/D6204
Diffstat (limited to 'source/blender/blenkernel/intern/shrinkwrap.c')
-rw-r--r--source/blender/blenkernel/intern/shrinkwrap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c
index 96f2b8c1095..0c9ee61ca19 100644
--- a/source/blender/blenkernel/intern/shrinkwrap.c
+++ b/source/blender/blenkernel/intern/shrinkwrap.c
@@ -1548,7 +1548,11 @@ void BKE_shrinkwrap_remesh_target_project(Mesh *src_me, Mesh *target_me, Object
ssmd.shrinkMode = MOD_SHRINKWRAP_ON_SURFACE;
ssmd.shrinkOpts = MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR | MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR;
ssmd.keepDist = 0.0f;
- ssmd.projLimit = target_me->remesh_voxel_size;
+
+ /* Tolerance value to prevent artifacts on sharp edges of a mesh.
+ * This constant and based on experimenting with different values. */
+ const float projLimitTolerance = 5.0f;
+ ssmd.projLimit = target_me->remesh_voxel_size * projLimitTolerance;
float(*vertexCos)[3] = BKE_mesh_vert_coords_alloc(src_me, &totvert);