[Bf-blender-cvs] [2e1a479e290] blender-v3.4-release: Sculpt: fix T102664: Broken multires solid shading
Joseph Eagar
noreply at git.blender.org
Mon Nov 28 22:12:37 CET 2022
Commit: 2e1a479e290aa703b31bbc59439af63299fec82c
Author: Joseph Eagar
Date: Mon Nov 28 12:35:20 2022 -0800
Branches: blender-v3.4-release
https://developer.blender.org/rB2e1a479e290aa703b31bbc59439af63299fec82c
Sculpt: fix T102664: Broken multires solid shading
Calculate quad normal directly instead of averaging
the vertex normals.
===================================================================
M source/blender/draw/intern/draw_pbvh.cc
===================================================================
diff --git a/source/blender/draw/intern/draw_pbvh.cc b/source/blender/draw/intern/draw_pbvh.cc
index 6c504e63511..2a13072ce83 100644
--- a/source/blender/draw/intern/draw_pbvh.cc
+++ b/source/blender/draw/intern/draw_pbvh.cc
@@ -374,12 +374,13 @@ struct PBVHBatches {
no = CCG_elem_no(&args->ccg_key, elems[0]);
}
else {
- for (int j = 0; j < 4; j++) {
- no += CCG_elem_no(&args->ccg_key, elems[j]);
- }
+ normal_quad_v3(no,
+ CCG_elem_co(&args->ccg_key, elems[3]),
+ CCG_elem_co(&args->ccg_key, elems[2]),
+ CCG_elem_co(&args->ccg_key, elems[1]),
+ CCG_elem_co(&args->ccg_key, elems[0]));
}
- normalize_v3(no);
short sno[3];
normal_float_to_short_v3(sno, no);
More information about the Bf-blender-cvs
mailing list