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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-05-31 13:51:12 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-05-31 18:17:03 +0300
commitf87bba0368ea3d0b71559cfae662ae9e3b39ad6f (patch)
treea51b9512487f41593e905f91123bba1d0147e35e /source/blender/blenkernel/BKE_pbvh.h
parent151f69a5c214691de0665affcd8a49cecd6dd0aa (diff)
Fix T62282: multires sculpting does not update smooth normals
It may be good to move the normals update out of the drawing code. But it was already there for the non-multires sculpt cases, and does not have an obvious place since we bypass the depsgraph and want to avoid the cost of updating the normals multiple times when multiple events are handled before a redraw.
Diffstat (limited to 'source/blender/blenkernel/BKE_pbvh.h')
-rw-r--r--source/blender/blenkernel/BKE_pbvh.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h
index 315c0224b11..0a6f3a7d4d9 100644
--- a/source/blender/blenkernel/BKE_pbvh.h
+++ b/source/blender/blenkernel/BKE_pbvh.h
@@ -41,6 +41,7 @@ struct MPoly;
struct MVert;
struct PBVH;
struct PBVHNode;
+struct SubdivCCG;
typedef struct PBVH PBVH;
typedef struct PBVHNode PBVHNode;
@@ -166,8 +167,6 @@ bool BKE_pbvh_node_find_nearest_to_ray(PBVH *bvh,
void BKE_pbvh_draw_cb(PBVH *bvh,
float (*planes)[4],
- float (*fnors)[3],
- bool show_vcol,
void (*draw_fn)(void *user_data, struct GPU_PBVH_Buffers *buffers),
void *user_data);
@@ -256,9 +255,11 @@ struct GSet *BKE_pbvh_bmesh_node_faces(PBVHNode *node);
void BKE_pbvh_bmesh_node_save_orig(PBVHNode *node);
void BKE_pbvh_bmesh_after_stroke(PBVH *bvh);
-/* Update Normals/Bounding Box/Redraw and clear flags */
+/* Update Bounding Box/Redraw and clear flags */
-void BKE_pbvh_update(PBVH *bvh, int flags, float (*face_nors)[3]);
+void BKE_pbvh_update_bounds(PBVH *bvh, int flags);
+void BKE_pbvh_update_normals(PBVH *bvh, struct SubdivCCG *subdiv_ccg);
+void BKE_pbvh_update_draw_buffers(PBVH *bvh, bool show_vcol);
void BKE_pbvh_redraw_BB(PBVH *bvh, float bb_min[3], float bb_max[3]);
void BKE_pbvh_get_grid_updates(PBVH *bvh, bool clear, void ***r_gridfaces, int *r_totface);
void BKE_pbvh_grids_update(PBVH *bvh,