[Bf-blender-cvs] [c59c11d4207] temp-3d-texturing-brush-b: Use template callback function.
Jeroen Bakker
noreply at git.blender.org
Wed Mar 16 14:10:48 CET 2022
Commit: c59c11d4207cbacf39194cba365defb534e08fa9
Author: Jeroen Bakker
Date: Wed Mar 16 10:43:32 2022 +0100
Branches: temp-3d-texturing-brush-b
https://developer.blender.org/rBc59c11d4207cbacf39194cba365defb534e08fa9
Use template callback function.
===================================================================
M source/blender/editors/sculpt_paint/sculpt_texture_paint_d.cc
===================================================================
diff --git a/source/blender/editors/sculpt_paint/sculpt_texture_paint_d.cc b/source/blender/editors/sculpt_paint/sculpt_texture_paint_d.cc
index 600dd331727..9c59cd15a49 100644
--- a/source/blender/editors/sculpt_paint/sculpt_texture_paint_d.cc
+++ b/source/blender/editors/sculpt_paint/sculpt_texture_paint_d.cc
@@ -41,7 +41,7 @@ namespace blender::ed::sculpt_paint::texture_paint {
namespace painting {
/** Reading and writing to image buffer with 4 float channels. */
-class ImagePixelAccessorFloat4 {
+class ImageBufferFloat4 {
private:
int pixel_offset;
@@ -201,6 +201,7 @@ static void do_vertex_brush_test(void *__restrict userdata,
BKE_pbvh_vertex_iter_end;
}
+template<typename PaintingKernelType>
static void do_task_cb_ex(void *__restrict userdata,
const int n,
const TaskParallelTLS *__restrict tls)
@@ -250,7 +251,7 @@ static void do_task_cb_ex(void *__restrict userdata,
const int thread_id = BLI_task_parallel_thread_id(tls);
MVert *mvert = SCULPT_mesh_deformed_mverts_get(ss);
- PaintingKernel<ImagePixelAccessorFloat4> kernel(ss, brush, thread_id, mvert);
+ PaintingKernelType kernel(ss, brush, thread_id, mvert);
int packages_clipped = 0;
for (const PixelsPackage &encoded_pixels : node_data->encoded_pixels) {
@@ -328,7 +329,12 @@ void SCULPT_do_texture_paint_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int
TIMEIT_START(texture_painting);
BLI_task_parallel_range(0, totnode, &data, painting::do_vertex_brush_test, &settings);
- BLI_task_parallel_range(0, totnode, &data, painting::do_task_cb_ex, &settings);
+ BLI_task_parallel_range(
+ 0,
+ totnode,
+ &data,
+ painting::do_task_cb_ex<painting::PaintingKernel<painting::ImageBufferFloat4>>,
+ &settings);
TIMEIT_END(texture_painting);
ss->mode.texture_paint.drawing_target = nullptr;
More information about the Bf-blender-cvs
mailing list