[Bf-blender-cvs] [97e46b5e145] soc-2017-vertex_paint: added the alpha along with rgb in .ply exporter in vpaint
Darshan Kadu
noreply at git.blender.org
Sun Jul 9 10:23:49 CEST 2017
Commit: 97e46b5e1450bdb18b96a61a98fcf7248cd2d9ce
Author: Darshan Kadu
Date: Sun Jul 9 13:53:15 2017 +0530
Branches: soc-2017-vertex_paint
https://developer.blender.org/rB97e46b5e1450bdb18b96a61a98fcf7248cd2d9ce
added the alpha along with rgb in .ply exporter in vpaint
===================================================================
M source/blender/editors/sculpt_paint/paint_vertex.c
M source/blender/makesdna/DNA_brush_types.h
M source/blender/makesrna/intern/rna_mesh.c
===================================================================
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index ce67cf87ea6..3704447df6c 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -576,10 +576,14 @@ BLI_INLINE unsigned int mcol_blend(unsigned int col1, unsigned int col2, int fac
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
if (fac >= 255) {
+ cp = (unsigned char *)&col2;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col2;
}
@@ -614,6 +618,8 @@ BLI_INLINE unsigned int mcol_add(unsigned int col1, unsigned int col2, int fac,
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -640,6 +646,8 @@ BLI_INLINE unsigned int mcol_sub(unsigned int col1, unsigned int col2, int fac,
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -666,6 +674,8 @@ BLI_INLINE unsigned int mcol_mul(unsigned int col1, unsigned int col2, int fac,
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -692,9 +702,13 @@ BLI_INLINE unsigned int mcol_lighten(unsigned int col1, unsigned int col2, int f
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
else if (fac >= 255) {
+ cp = (unsigned char *)&col2;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col2;
}
@@ -726,9 +740,13 @@ BLI_INLINE unsigned int mcol_darken(unsigned int col1, unsigned int col2, int fa
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
else if (fac >= 255) {
+ cp = (unsigned char *)&col2;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col2;
}
@@ -759,6 +777,8 @@ BLI_INLINE unsigned int mcol_colordodge(unsigned int col1, unsigned int col2, in
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -786,6 +806,8 @@ BLI_INLINE unsigned int mcol_difference(unsigned int col1, unsigned int col2, in
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -813,6 +835,8 @@ BLI_INLINE unsigned int mcol_screen(unsigned int col1, unsigned int col2, int fa
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -840,6 +864,8 @@ BLI_INLINE unsigned int mcol_hardlight(unsigned int col1, unsigned int col2, int
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -873,6 +899,8 @@ BLI_INLINE unsigned int mcol_overlay(unsigned int col1, unsigned int col2, int f
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -906,6 +934,8 @@ BLI_INLINE unsigned int mcol_softlight(unsigned int col1, unsigned int col2, int
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -939,6 +969,8 @@ BLI_INLINE unsigned int mcol_exclusion(unsigned int col1, unsigned int col2, int
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -966,6 +998,8 @@ BLI_INLINE unsigned int mcol_luminocity(unsigned int col1, unsigned int col2, in
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -1000,6 +1034,8 @@ BLI_INLINE unsigned int mcol_saturation(unsigned int col1, unsigned int col2, in
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
@@ -1036,6 +1072,8 @@ BLI_INLINE unsigned int mcol_hue(unsigned int col1, unsigned int col2, int fac,
unsigned int col = 0;
if (fac == 0) {
+ cp = (unsigned char *)&col1;
+ cp[3] = use_alpha ? alpha_value : cp[3];
return col1;
}
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 56cd645c8cc..733a9f64c29 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -191,7 +191,7 @@ typedef enum BrushFlags {
BRUSH_JITTER_PRESSURE = (1 << 4),
BRUSH_SPACING_PRESSURE = (1 << 5),
BRUSH_UNUSED = (1 << 6),
-// BRUSH_RAKE = (1 << 7),// deprecated, use brush_angle_mode
+// BRUSH_RAKE = (1 << 7), deprecated, use brush_angle_mode
BRUSH_ALPHA_VPAINT = (1 << 7),
BRUSH_ANCHORED = (1 << 8),
BRUSH_DIR_IN = (1 << 9),
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index aac187948f0..075fa25922c 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -596,7 +596,7 @@ static void rna_MeshColor_color2_get(PointerRNA *ptr, float *values)
{
MCol *mcol = (MCol *)ptr->data;
- values[3] = (&mcol[0].r)[3] / 255.0f;
+ values[3] = (&mcol[1].r)[3] / 255.0f;
values[2] = (&mcol[1].r)[0] / 255.0f;
values[1] = (&mcol[1].r)[1] / 255.0f;
values[0] = (&mcol[1].r)[2] / 255.0f;
@@ -606,7 +606,7 @@ static void rna_MeshColor_color2_set(PointerRNA *ptr, const float *values)
{
MCol *mcol = (MCol *)ptr->data;
- (&mcol[0].r)[3] = (char)(CLAMPIS(values[3] * 255.0f, 0, 255));
+ (&mcol[1].r)[3] = (char)(CLAMPIS(values[3] * 255.0f, 0, 255));
(&mcol[1].r)[2] = (char)(CLAMPIS(values[0] * 255.0f, 0, 255));
(&mcol[1].r)[1] = (char)(CLAMPIS(values[1] * 255.0f, 0, 255));
(&mcol[1].r)[0] = (char)(CLAMPIS(values[2] * 255.0f, 0, 255));
@@ -616,7 +616,7 @@ static void rna_MeshColor_color3_get(PointerRNA *ptr, float *values)
{
MCol *mcol = (MCol *)ptr->data;
- values[3] = (&mcol[3].r)[0] / 255.0f;
+ values[3] = (&mcol[2].r)[3] / 255.0f;
values[2] = (&mcol[2].r)[0] / 255.0f;
values[1] = (&mcol[2].r)[1] / 255.0f;
values[0] = (&mcol[2].r)[2] / 255.0f;
More information about the Bf-blender-cvs
mailing list