[Bf-blender-cvs] [be6b62d0cb0] temp-sculpt-normals-masking: temp-sculpt-normals-masking: Replace a few usages of float[3] with float3
Joseph Eagar
noreply at git.blender.org
Sat Sep 24 19:08:50 CEST 2022
Commit: be6b62d0cb01ad20d781e6eec0e40fb2f1695453
Author: Joseph Eagar
Date: Fri Sep 23 15:26:37 2022 -0700
Branches: temp-sculpt-normals-masking
https://developer.blender.org/rBbe6b62d0cb01ad20d781e6eec0e40fb2f1695453
temp-sculpt-normals-masking: Replace a few usages of float[3] with
float3
===================================================================
M release/scripts/addons
M source/blender/blenkernel/BKE_paint.h
M source/blender/editors/sculpt_paint/sculpt.c
M source/blender/editors/sculpt_paint/sculpt_automasking.cc
===================================================================
diff --git a/release/scripts/addons b/release/scripts/addons
index 3908254f093..67f1fbca148 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 3908254f0938a3c4c29189a455c8e356771e6ce1
+Subproject commit 67f1fbca1482d9d9362a4001332e785c3fd5d230
diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h
index 145b2775377..66d1a294029 100644
--- a/source/blender/blenkernel/BKE_paint.h
+++ b/source/blender/blenkernel/BKE_paint.h
@@ -747,7 +747,7 @@ typedef struct SculptSession {
char *last_paint_canvas_key;
float last_normal[3];
- int stroke_id;
+ uchar stroke_id;
} SculptSession;
void BKE_sculptsession_free(struct Object *ob);
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 58ebe56df89..b0c2e104393 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -6072,7 +6072,7 @@ void SCULPT_stroke_id_ensure(Object *ob)
SculptAttributeParams params = {0};
ss->attrs.stroke_id = BKE_sculpt_attribute_ensure(
- ob, ATTR_DOMAIN_POINT, CD_PROP_INT32, SCULPT_ATTRIBUTE_NAME(stroke_id), ¶ms);
+ ob, ATTR_DOMAIN_POINT, CD_PROP_INT8, SCULPT_ATTRIBUTE_NAME(stroke_id), ¶ms);
}
}
diff --git a/source/blender/editors/sculpt_paint/sculpt_automasking.cc b/source/blender/editors/sculpt_paint/sculpt_automasking.cc
index e8ca92cdd6d..1c4faf80882 100644
--- a/source/blender/editors/sculpt_paint/sculpt_automasking.cc
+++ b/source/blender/editors/sculpt_paint/sculpt_automasking.cc
@@ -11,6 +11,7 @@
#include "BLI_hash.h"
#include "BLI_index_range.hh"
#include "BLI_math.h"
+#include "BLI_math_vec_types.hh"
#include "BLI_task.h"
#include "DNA_brush_types.h"
@@ -47,6 +48,7 @@
#include <cmath>
#include <cstdlib>
+using blender::float3;
using blender::IndexRange;
AutomaskingCache *SCULPT_automasking_active_cache_get(SculptSession *ss)
@@ -116,15 +118,15 @@ bool SCULPT_automasking_needs_normal(const SculptSession *ss,
static float sculpt_automasking_normal_calc(AutomaskingCache *automasking,
SculptSession *ss,
PBVHVertRef vertex,
- const float normal[3],
+ float3 &normal,
float limit_lower,
float limit_upper,
AutomaskingNodeData *automask_data)
{
- float normal_v[3];
+ float3 normal_v;
if (automask_data->have_orig_data) {
- copy_v3_v3(normal_v, automask_data->orig_data.no);
+ normal_v = automask_data->orig_data.no;
}
else {
SCULPT_vertex_normal_get(ss, vertex, normal_v);
@@ -171,13 +173,13 @@ static float automasking_brush_normal_factor(AutomaskingCache *automasking,
AutomaskingNodeData *automask_data)
{
float falloff = automasking->settings.start_normal_falloff * M_PI;
- float initial_normal[3];
+ float3 initial_normal;
if (ss->cache) {
- copy_v3_v3(initial_normal, ss->cache->initial_normal);
+ initial_normal = ss->cache->initial_normal;
}
else {
- copy_v3_v3(initial_normal, ss->filter_cache->initial_normal);
+ initial_normal = ss->filter_cache->initial_normal;
}
return sculpt_automasking_normal_calc(automasking,
@@ -196,13 +198,13 @@ static float automasking_view_normal_factor(AutomaskingCache *automasking,
{
float falloff = automasking->settings.view_normal_falloff * M_PI;
- float view_normal[3];
+ float3 view_normal;
if (ss->cache) {
- copy_v3_v3(view_normal, ss->cache->view_normal);
+ view_normal = ss->cache->view_normal;
}
else {
- copy_v3_v3(view_normal, ss->filter_cache->view_normal);
+ view_normal = ss->filter_cache->view_normal;
}
return sculpt_automasking_normal_calc(automasking,
@@ -217,7 +219,7 @@ static float automasking_view_normal_factor(AutomaskingCache *automasking,
static float automasking_view_occlusion_factor(AutomaskingCache *automasking,
SculptSession *ss,
PBVHVertRef vertex,
- int stroke_id,
+ uchar stroke_id,
AutomaskingNodeData *automask_data)
{
char f = *(char *)SCULPT_vertex_attr_get(vertex, ss->attrs.automasking_occlusion);
@@ -235,7 +237,7 @@ static float automasking_view_occlusion_factor(AutomaskingCache *automasking,
static float automasking_factor_end(SculptSession *ss, PBVHVertRef vertex, float value)
{
if (ss->attrs.stroke_id) {
- *(int *)SCULPT_vertex_attr_get(vertex, ss->attrs.stroke_id) = ss->stroke_id;
+ *(uchar *)SCULPT_vertex_attr_get(vertex, ss->attrs.stroke_id) = ss->stroke_id;
}
return value;
@@ -257,9 +259,9 @@ float SCULPT_automasking_factor_get(AutomaskingCache *automasking,
return *(float *)SCULPT_vertex_attr_get(vert, ss->attrs.automasking_factor);
}
- int stroke_id = ss->attrs.stroke_id ?
- *(int *)(SCULPT_vertex_attr_get(vert, ss->attrs.stroke_id)) :
- -1;
+ uchar stroke_id = ss->attrs.stroke_id ?
+ *(uchar *)(SCULPT_vertex_attr_get(vert, ss->attrs.stroke_id)) :
+ -1;
bool do_occlusion = (automasking->settings.flags &
(BRUSH_AUTOMASKING_VIEW_OCCLUSION | BRUSH_AUTOMASKING_VIEW_NORMAL)) ==
@@ -514,7 +516,7 @@ void sculpt_normal_occlusion_automasking_fill(AutomaskingCache *automasking,
f *= automasking_view_normal_factor(automasking, ss, vertex, &nodedata);
}
- *(int *)SCULPT_vertex_attr_get(vertex, ss->attrs.stroke_id) = ss->stroke_id;
+ *(uchar *)SCULPT_vertex_attr_get(vertex, ss->attrs.stroke_id) = ss->stroke_id;
*(float *)SCULPT_vertex_attr_get(vertex, ss->attrs.automasking_factor) = f;
}
}
More information about the Bf-blender-cvs
mailing list