[Bf-blender-cvs] [ae555c32199] sculpt-dev: Sculpt-dev: fix compile errors from merge.
Joseph Eagar
noreply at git.blender.org
Sat Apr 16 05:04:18 CEST 2022
Commit: ae555c321999aa268ee7c796df9e2a5ec838ded4
Author: Joseph Eagar
Date: Fri Apr 15 20:03:50 2022 -0700
Branches: sculpt-dev
https://developer.blender.org/rBae555c321999aa268ee7c796df9e2a5ec838ded4
Sculpt-dev: fix compile errors from merge.
===================================================================
M source/blender/blenkernel/intern/mesh_remesh_voxel.cc
M source/blender/editors/sculpt_paint/sculpt_filter_color.c
M source/blender/editors/sculpt_paint/sculpt_intern.h
===================================================================
diff --git a/source/blender/blenkernel/intern/mesh_remesh_voxel.cc b/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
index 7cdd18d1fc0..02439113b18 100644
--- a/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
+++ b/source/blender/blenkernel/intern/mesh_remesh_voxel.cc
@@ -298,7 +298,7 @@ Mesh *BKE_mesh_remesh_instant_meshes(const Mesh *input_mesh,
}
int *fsets = (int *)CustomData_get_layer(&input_mesh->pdata, CD_SCULPT_FACE_SETS);
-
+
for (const int i : IndexRange(input_mesh->totedge)) {
MEdge *me = input_mesh->medge + i;
MeshElemMap *mep = epmap + i;
@@ -863,26 +863,35 @@ void BKE_remesh_reproject_vertex_paint(Mesh *target, const Mesh *source)
else {
/* Lazily init vertex -> loop maps. */
if (!source_lmap) {
- const MPoly *source_polys = (MPoly *)CustomData_get_layer(&source->pdata, CD_MPOLY);
+ const MVert *source_verts = (MVert *)CustomData_get_layer(&source->vdata, CD_MVERT);
+ const MEdge *source_edges = (MEdge *)CustomData_get_layer(&source->edata, CD_MEDGE);
const MLoop *source_loops = (MLoop *)CustomData_get_layer(&source->ldata, CD_MLOOP);
- const MPoly *target_polys = (MPoly *)CustomData_get_layer(&target->pdata, CD_MPOLY);
+ const MPoly *source_polys = (MPoly *)CustomData_get_layer(&source->pdata, CD_MPOLY);
+ const MEdge *target_edges = (MEdge *)CustomData_get_layer(&target->edata, CD_MEDGE);
const MLoop *target_loops = (MLoop *)CustomData_get_layer(&target->ldata, CD_MLOOP);
+ const MPoly *target_polys = (MPoly *)CustomData_get_layer(&target->pdata, CD_MPOLY);
BKE_mesh_vert_loop_map_create(&source_lmap,
&source_lmap_mem,
+ source_verts,
+ source_edges,
source_polys,
source_loops,
source->totvert,
source->totpoly,
- source->totloop);
+ source->totloop,
+ false);
BKE_mesh_vert_loop_map_create(&target_lmap,
&target_lmap_mem,
+ target_verts,
+ target_edges,
target_polys,
target_loops,
target->totvert,
target->totpoly,
- target->totloop);
+ target->totloop,
+ false);
}
for (int i = 0; i < target->totvert; i++) {
diff --git a/source/blender/editors/sculpt_paint/sculpt_filter_color.c b/source/blender/editors/sculpt_paint/sculpt_filter_color.c
index 97410232860..c4021e0e697 100644
--- a/source/blender/editors/sculpt_paint/sculpt_filter_color.c
+++ b/source/blender/editors/sculpt_paint/sculpt_filter_color.c
@@ -293,16 +293,19 @@ static void sculpt_color_presmooth_init(SculptSession *ss)
}
for (int i = 0; i < totvert; i++) {
- SCULPT_vertex_color_get(ss, i, ss->filter_cache->pre_smoothed_color[i]);
+ SculptVertRef vertex = BKE_pbvh_table_index_to_vertex(ss->pbvh, i);
+
+ SCULPT_vertex_color_get(ss, vertex, ss->filter_cache->pre_smoothed_color[i]);
}
for (int iteration = 0; iteration < 2; iteration++) {
for (int i = 0; i < totvert; i++) {
float avg[4] = {0.0f, 0.0f, 0.0f, 0.0f};
int total = 0;
+ SculptVertRef vertex = BKE_pbvh_table_index_to_vertex(ss->pbvh, i);
SculptVertexNeighborIter ni;
- SCULPT_VERTEX_NEIGHBORS_ITER_BEGIN (ss, i, ni) {
+ SCULPT_VERTEX_NEIGHBORS_ITER_BEGIN (ss, vertex, ni) {
float col[4] = {0};
copy_v4_v4(col, ss->filter_cache->pre_smoothed_color[ni.index]);
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h
index 052b6332ca3..4b9a38885f1 100644
--- a/source/blender/editors/sculpt_paint/sculpt_intern.h
+++ b/source/blender/editors/sculpt_paint/sculpt_intern.h
@@ -495,66 +495,6 @@ typedef struct AutomaskingCache {
SculptCustomLayer *factorlayer;
} AutomaskingCache;
-typedef struct FilterCache {
- bool enabled_axis[3];
- bool enabled_force_axis[3];
- int random_seed;
-
- /* Used for alternating between filter operations in filters that need to apply different ones to
- * achieve certain effects. */
- int iteration_count;
-
- /* Stores the displacement produced by the laplacian step of HC smooth. */
- float (*surface_smooth_laplacian_disp)[3];
- float surface_smooth_shape_preservation;
- float surface_smooth_current_vertex;
-
- /* Sharpen mesh filter. */
- float sharpen_smooth_ratio;
- float sharpen_intensify_detail_strength;
- int sharpen_curvature_smooth_iterations;
- float *sharpen_factor;
- float (*detail_directions)[3];
-
- /* Filter orientation. */
- SculptFilterOrientation orientation;
- float obmat[4][4];
- float obmat_inv[4][4];
- float viewmat[4][4];
- float viewmat_inv[4][4];
-
- /* Displacement eraser. */
- float (*limit_surface_co)[3];
-
- /* unmasked nodes */
- PBVHNode **nodes;
- int totnode;
-
- /* Cloth filter. */
- SculptClothSimulation *cloth_sim;
- float cloth_sim_pinch_point[3];
-
- /* mask expand iteration caches */
- int mask_update_current_it;
- int mask_update_last_it;
- int *mask_update_it;
- float *normal_factor;
- float *edge_factor;
- float *prev_mask;
- float mask_expand_initial_co[3];
-
- int new_face_set;
- int *prev_face_set;
-
- int active_face_set;
-
- /* Auto-masking. */
- AutomaskingCache *automasking;
-
- /* Pre-smoothed colors used by sharpening. Colors are HSL. */
- float (*pre_smoothed_color)[4];
-} FilterCache;
-
/**
* This structure contains all the temporary data
* needed for individual brush strokes.
@@ -1066,6 +1006,8 @@ typedef struct FilterCache {
bool hard_edge_mode;
float bound_smooth_radius;
float bevel_smooth_fac;
+
+ float (*pre_smoothed_color)[3];
} FilterCache;
typedef struct SculptCurvatureData {
More information about the Bf-blender-cvs
mailing list