Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/sculpt_paint/sculpt_filter_mesh.c
| Show First 20 Lines • Show All 106 Lines • ▼ Show 20 Lines | void SCULPT_filter_cache_init(Object *ob, Sculpt *sd) | ||||
| } | } | ||||
| SculptThreadedTaskData data = { | SculptThreadedTaskData data = { | ||||
| .sd = sd, | .sd = sd, | ||||
| .ob = ob, | .ob = ob, | ||||
| .nodes = ss->filter_cache->nodes, | .nodes = ss->filter_cache->nodes, | ||||
| }; | }; | ||||
| PBVHParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings( | BKE_pbvh_parallel_range_settings( | ||||
| &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode); | &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode); | ||||
| BKE_pbvh_parallel_range( | BLI_task_parallel_range( | ||||
| 0, ss->filter_cache->totnode, &data, filter_cache_init_task_cb, &settings); | 0, ss->filter_cache->totnode, &data, filter_cache_init_task_cb, &settings); | ||||
| } | } | ||||
| void SCULPT_filter_cache_free(SculptSession *ss) | void SCULPT_filter_cache_free(SculptSession *ss) | ||||
| { | { | ||||
| MEM_SAFE_FREE(ss->filter_cache->nodes); | MEM_SAFE_FREE(ss->filter_cache->nodes); | ||||
| MEM_SAFE_FREE(ss->filter_cache->mask_update_it); | MEM_SAFE_FREE(ss->filter_cache->mask_update_it); | ||||
| MEM_SAFE_FREE(ss->filter_cache->prev_mask); | MEM_SAFE_FREE(ss->filter_cache->prev_mask); | ||||
| ▲ Show 20 Lines • Show All 364 Lines • ▼ Show 20 Lines | static int sculpt_mesh_filter_modal(bContext *C, wmOperator *op, const wmEvent *event) | ||||
| SculptThreadedTaskData data = { | SculptThreadedTaskData data = { | ||||
| .sd = sd, | .sd = sd, | ||||
| .ob = ob, | .ob = ob, | ||||
| .nodes = ss->filter_cache->nodes, | .nodes = ss->filter_cache->nodes, | ||||
| .filter_type = filter_type, | .filter_type = filter_type, | ||||
| .filter_strength = filter_strength, | .filter_strength = filter_strength, | ||||
| }; | }; | ||||
| PBVHParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings( | BKE_pbvh_parallel_range_settings( | ||||
| &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode); | &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode); | ||||
| BKE_pbvh_parallel_range(0, ss->filter_cache->totnode, &data, mesh_filter_task_cb, &settings); | BLI_task_parallel_range(0, ss->filter_cache->totnode, &data, mesh_filter_task_cb, &settings); | ||||
| if (filter_type == MESH_FILTER_SURFACE_SMOOTH) { | if (filter_type == MESH_FILTER_SURFACE_SMOOTH) { | ||||
| BKE_pbvh_parallel_range(0, | BLI_task_parallel_range(0, | ||||
| ss->filter_cache->totnode, | ss->filter_cache->totnode, | ||||
| &data, | &data, | ||||
| mesh_filter_surface_smooth_displace_task_cb, | mesh_filter_surface_smooth_displace_task_cb, | ||||
| &settings); | &settings); | ||||
| } | } | ||||
| ss->filter_cache->iteration_count++; | ss->filter_cache->iteration_count++; | ||||
| ▲ Show 20 Lines • Show All 160 Lines • Show Last 20 Lines | |||||