Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/sculpt_paint/paint_vertex.c
| Show First 20 Lines • Show All 2,167 Lines • ▼ Show 20 Lines | SculptThreadedTaskData data = { | ||||
| .me = me, | .me = me, | ||||
| }; | }; | ||||
| /* Use this so average can modify its weight without touching the brush. */ | /* Use this so average can modify its weight without touching the brush. */ | ||||
| data.strength = BKE_brush_weight_get(scene, brush); | data.strength = BKE_brush_weight_get(scene, brush); | ||||
| /* NOTE: current mirroring code cannot be run in parallel */ | /* NOTE: current mirroring code cannot be run in parallel */ | ||||
| TaskParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings( | const bool use_threading = ((me->editflag & ME_EDIT_VERTEX_GROUPS_X_SYMMETRY) == 0); | ||||
| &settings, !(me->flag & ME_EDIT_VERTEX_GROUPS_X_SYMMETRY), totnode); | BKE_pbvh_parallel_range_settings(&settings, use_threading, totnode); | ||||
| switch ((eBrushWeightPaintTool)brush->weightpaint_tool) { | switch ((eBrushWeightPaintTool)brush->weightpaint_tool) { | ||||
| case WPAINT_TOOL_AVERAGE: | case WPAINT_TOOL_AVERAGE: | ||||
| calculate_average_weight(&data, nodes, totnode); | calculate_average_weight(&data, nodes, totnode); | ||||
| BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings); | BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings); | ||||
| break; | break; | ||||
| case WPAINT_TOOL_SMEAR: | case WPAINT_TOOL_SMEAR: | ||||
| BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_smear_task_cb_ex, &settings); | BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_smear_task_cb_ex, &settings); | ||||
| ▲ Show 20 Lines • Show All 1,323 Lines • Show Last 20 Lines | |||||