From f172cea484c1f3b4083e7e1574bd33a2c6873f93 Mon Sep 17 00:00:00 2001 From: mano-wii Date: Thu, 24 Jan 2019 10:32:28 -0200 Subject: Fix T59423: Mesh deform modifier bind bug causing spiky deformations. Same as rBac316a6526c7. (I should have commited in 2.7 first and then merged in 2.8). --- source/blender/editors/armature/meshlaplacian.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c index 4e31fcc7a11..b42ec77c052 100644 --- a/source/blender/editors/armature/meshlaplacian.c +++ b/source/blender/editors/armature/meshlaplacian.c @@ -898,9 +898,10 @@ static void harmonic_ray_callback(void *userdata, int index, const BVHTreeRay *r face[1] = mdb->cagecos[mloop[lt->tri[1]].v]; face[2] = mdb->cagecos[mloop[lt->tri[2]].v]; - if (!isect_ray_tri_watertight_v3( - ray->origin, ray->isect_precalc, UNPACK3(face), &dist, NULL)) - { + bool isect_ray_tri = isect_ray_tri_watertight_v3( + ray->origin, ray->isect_precalc, UNPACK3(face), &dist, NULL); + + if (!isect_ray_tri || dist > isec->vec_length) { return; } -- cgit v1.2.3 From 3a527357a556491406ee9d33a79ab0af5f79e326 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 24 Jan 2019 15:15:57 +0100 Subject: Cycles: change default displacement method to bump mapping again. Even though it makes sense logically to have displacement actually displace the mesh, this is causing a lot of confusion for existing users that are used to the previous behavior. Further, since Eevee does not support displacement yet and the discrepancy between the viewport and final render is problematic. --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/addon/version_update.py | 7 +++++++ source/blender/blenkernel/BKE_blender_version.h | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 3f17d53fda7..9d00a3f75b8 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -892,7 +892,7 @@ class CyclesMaterialSettings(bpy.types.PropertyGroup): name="Displacement Method", description="Method to use for the displacement", items=enum_displacement_methods, - default='DISPLACEMENT', + default='BUMP', ) @classmethod diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py index f14fe9abc3d..3a4b13ef9d2 100644 --- a/intern/cycles/blender/addon/version_update.py +++ b/intern/cycles/blender/addon/version_update.py @@ -489,3 +489,10 @@ def do_versions(self): cworld.sampling_method = 'NONE' ambient_occlusion_nodes_relink() + + if bpy.data.version <= (2, 79, 6): + # Change default to bump again. + for mat in bpy.data.materials: + cmat = mat.cycles + if not cmat.is_property_set("displacement_method"): + cmat.displacement_method = 'DISPLACEMENT' diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 16115203294..7cd023f89f5 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -28,7 +28,7 @@ * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 279 -#define BLENDER_SUBVERSION 6 +#define BLENDER_SUBVERSION 7 /* Several breakages with 270, e.g. constraint deg vs rad */ #define BLENDER_MINVERSION 270 #define BLENDER_MINSUBVERSION 6 -- cgit v1.2.3