[Bf-blender-cvs] [c3ce0d5] soc-2016-pbvh-painting: Got texture paint working with PBVH painting.

Nathan Vollmer noreply at git.blender.org
Sun Aug 14 00:53:53 CEST 2016


Commit: c3ce0d56a6fe7585edfdfb59c19d4d2a15062d54
Author: Nathan Vollmer
Date:   Thu Aug 11 15:47:31 2016 -0600
Branches: soc-2016-pbvh-painting
https://developer.blender.org/rBc3ce0d56a6fe7585edfdfb59c19d4d2a15062d54

Got texture paint working with PBVH painting.

===================================================================

M	release/scripts/startup/bl_ui/space_view3d_toolbar.py
M	source/blender/blenkernel/BKE_paint.h
M	source/blender/blenkernel/intern/paint.c
M	source/blender/blenloader/intern/versioning_defaults.c
M	source/blender/editors/sculpt_paint/paint_intern.h
M	source/blender/editors/sculpt_paint/paint_vertex.c
M	source/blender/editors/sculpt_paint/sculpt.c
M	source/blender/editors/sculpt_paint/sculpt_intern.h
M	source/blender/makesdna/DNA_brush_types.h
M	source/blender/makesdna/DNA_scene_types.h

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 07bf434..6ff0364 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1715,7 +1715,7 @@ class VIEW3D_PT_weightpaint_symmetry(Panel, View3DPaintPanel):
     bl_category = "Tools"
     bl_context = "weightpaint"
     bl_options = {'DEFAULT_CLOSED'}
-    bl_label = "Symmetry / Lock"
+    bl_label = "Symmetry"
 
     def draw(self, context):
         layout = self.layout
@@ -1765,6 +1765,7 @@ class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel):
 
 # ********** default tools for vertex-paint ****************
 
+
 class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel):
     bl_category = "Options"
     bl_context = "vertexpaint"
@@ -1783,12 +1784,18 @@ class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel):
         col.prop(vpaint, "use_spray")
 
         self.unified_paint_settings(col, context)
-        
+# Commented out because the Apply button isn't an operator yet, making these settings useless
+#~         col.label(text="Gamma:")
+#~         col.prop(vpaint, "gamma", text="")
+#~         col.label(text="Multiply:")
+#~         col.prop(vpaint, "mul", text="")
+
+
 class VIEW3D_PT_vertexpaint_symmetry(Panel, View3DPaintPanel):
     bl_category = "Tools"
     bl_context = "vertexpaint"
     bl_options = {'DEFAULT_CLOSED'}
-    bl_label = "Symmetry / Lock"
+    bl_label = "Symmetry"
     
     def draw(self, context):
         layout = self.layout
@@ -1804,11 +1811,6 @@ class VIEW3D_PT_vertexpaint_symmetry(Panel, View3DPaintPanel):
         row.prop(vpaint, "use_symmetry_z", text="Z", toggle=True)
         
         layout.column().prop(vpaint, "radial_symmetry", text="Radial")
-# Commented out because the Apply button isn't an operator yet, making these settings useless
-#~         col.label(text="Gamma:")
-#~         col.prop(vpaint, "gamma", text="")
-#~         col.label(text="Multiply:")
-#~         col.prop(vpaint, "mul", text="")
 
 # ********** default tools for texture-paint ****************
 
diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h
index 237add5..2e65c72 100644
--- a/source/blender/blenkernel/BKE_paint.h
+++ b/source/blender/blenkernel/BKE_paint.h
@@ -209,13 +209,13 @@ typedef struct SculptSession {
 	int *poly_map_mem;
 	MeshElemMap* vert_to_poly;
 
-  unsigned long* totalRed;
-  unsigned long* totalGreen;
-  unsigned long* totalBlue;
-  unsigned long* totalAlpha;
-  double* totalWeight;
-  unsigned int *totloopsHit;
-  float *maxWeight;
+	unsigned long* totalRed;
+	unsigned long* totalGreen;
+	unsigned long* totalBlue;
+	unsigned long* totalAlpha;
+	double* totalWeight;
+	unsigned int *totloopsHit;
+	float *maxWeight;
 } SculptSession;
 
 void BKE_sculptsession_free(struct Object *ob);
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c
index 19c1090..bcb4ad9 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -757,21 +757,21 @@ void BKE_sculptsession_free(Object *ob)
 		if (ss->poly_map_mem)
 			MEM_freeN(ss->poly_map_mem);
 
-    /* Free average brush arrays */
-    if (ob->sculpt->totloopsHit)
-    MEM_freeN(ob->sculpt->totloopsHit);
-    if (ob->sculpt->totalRed)
-      MEM_freeN(ob->sculpt->totalRed);
-    if (ob->sculpt->totalGreen)
-      MEM_freeN(ob->sculpt->totalGreen);
-    if (ob->sculpt->totalBlue)
-      MEM_freeN(ob->sculpt->totalBlue);
-    if (ob->sculpt->totalAlpha)
-      MEM_freeN(ob->sculpt->totalAlpha);
-    if (ob->sculpt->totalWeight)
-      MEM_freeN(ob->sculpt->totalWeight);
-    if (ob->sculpt->maxWeight)
-      MEM_freeN(ob->sculpt->maxWeight);
+		/* Free average brush arrays */
+		if (ob->sculpt->totloopsHit)
+			MEM_freeN(ob->sculpt->totloopsHit);
+		if (ob->sculpt->totalRed)
+			MEM_freeN(ob->sculpt->totalRed);
+		if (ob->sculpt->totalGreen)
+			MEM_freeN(ob->sculpt->totalGreen);
+		if (ob->sculpt->totalBlue)
+			MEM_freeN(ob->sculpt->totalBlue);
+		if (ob->sculpt->totalAlpha)
+			MEM_freeN(ob->sculpt->totalAlpha);
+		if (ob->sculpt->totalWeight)
+			MEM_freeN(ob->sculpt->totalWeight);
+		if (ob->sculpt->maxWeight)
+			MEM_freeN(ob->sculpt->maxWeight);
 
 		MEM_freeN(ss);
 
diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c
index a860164..52769233 100644
--- a/source/blender/blenloader/intern/versioning_defaults.c
+++ b/source/blender/blenloader/intern/versioning_defaults.c
@@ -94,17 +94,17 @@ void BLO_update_defaults_startup_blend(Main *bmain)
 				sculpt->detail_size = 12;
 			}
 			
-      if (ts->vpaint)
-      {
-        VPaint *vp = ts->vpaint;
-        vp->radial_symm[0] = vp->radial_symm[1] = vp->radial_symm[2] = 1;
-      }
-
-      if (ts->wpaint)
-      {
-        VPaint *wp = ts->wpaint;
-        wp->radial_symm[0] = wp->radial_symm[1] = wp->radial_symm[2] = 1;
-      }
+			if (ts->vpaint)
+			{
+				VPaint *vp = ts->vpaint;
+				vp->radial_symm[0] = vp->radial_symm[1] = vp->radial_symm[2] = 1;
+			}
+
+			if (ts->wpaint)
+			{
+				VPaint *wp = ts->wpaint;
+				wp->radial_symm[0] = wp->radial_symm[1] = wp->radial_symm[2] = 1;
+			}
 
 			if (ts->gp_sculpt.brush[0].size == 0) {
 				GP_BrushEdit_Settings *gset = &ts->gp_sculpt;
@@ -286,12 +286,12 @@ void BLO_update_defaults_startup_blend(Main *bmain)
 		    br->ob_mode = OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT;
 		}
 
-    br = (Brush *)BKE_libblock_find_name_ex(bmain, ID_BR, "Smudge");
-    if (!br) {
-      br = BKE_brush_add(bmain, "Smudge", OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT);
-      br->vertexpaint_tool = PAINT_BLEND_SMUDGE;
-      br->ob_mode = OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT;
-    }
+		br = (Brush *)BKE_libblock_find_name_ex(bmain, ID_BR, "Smudge");
+		if (!br) {
+			br = BKE_brush_add(bmain, "Smudge", OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT);
+			br->vertexpaint_tool = PAINT_BLEND_SMUDGE;
+			br->ob_mode = OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT;
+		}
 	}
 }
 
diff --git a/source/blender/editors/sculpt_paint/paint_intern.h b/source/blender/editors/sculpt_paint/paint_intern.h
index e051569..7d0271d 100644
--- a/source/blender/editors/sculpt_paint/paint_intern.h
+++ b/source/blender/editors/sculpt_paint/paint_intern.h
@@ -98,79 +98,79 @@ void paint_cursor_delete_textures(void);
 * Variables stored both for 'active' and 'mirror' sides.
 */
 struct WeightPaintGroupData {
-  /** index of active group or its mirror
-  *
-  * - 'active' is always `ob->actdef`.
-  * - 'mirror' is -1 when 'ME_EDIT_MIRROR_X' flag id disabled,
-  *   otherwise this will be set to the mirror or the active group (if the group isn't mirrored).
-  */
-  int index;
-  /** lock that includes the 'index' as locked too
-  *
-  * - 'active' is set of locked or active/selected groups
-  * - 'mirror' is set of locked or mirror groups
-  */
-  const bool *lock;
+	/** index of active group or its mirror
+	 *
+	 * - 'active' is always `ob->actdef`.
+	 * - 'mirror' is -1 when 'ME_EDIT_MIRROR_X' flag id disabled,
+	 *   otherwise this will be set to the mirror or the active group (if the group isn't mirrored).
+	 */
+	int index;
+	/** lock that includes the 'index' as locked too
+	 *
+	 * - 'active' is set of locked or active/selected groups
+	 * - 'mirror' is set of locked or mirror groups
+	 */
+	const bool *lock;
 };
 
 typedef struct WPaintData {
-  ViewContext vc;
-  int *indexar;
+	ViewContext vc;
+	int *indexar;
 
-  struct WeightPaintGroupData active, mirror;
+	struct WeightPaintGroupData active, mirror;
 
-  void *vp_handle;
-  DMCoNo *vertexcosnos;
+	void *vp_handle;
+	DMCoNo *vertexcosnos;
 
-  float wpimat[3][3];
+	float wpimat[3][3];
 
-  /* variables for auto normalize */
-  const bool *vgroup_validmap; /* stores if vgroups tie to deforming bones or not */
-  const bool *lock_flags;
+	/* variables for auto normalize */
+	const bool *vgroup_validmap; /* stores if vgroups tie to deforming bones or not */
+	const bool *lock_flags;
 
-  /* variables for multipaint */
-  const bool *defbase_sel;      /* set of selected groups */
-  int defbase_tot_sel;          /* number of selected groups */
-  bool do_multipaint;           /* true if multipaint enabled and multiple groups selected */
+	/* variables for multipaint */
+	const bool *defbase_sel;      /* set of selected groups */
+	int defbase_tot_sel;          /* number of selected groups */
+	bool do_multipaint;           /* true if multipaint enabled and multiple groups selected */
 
-  /* variables for blur */
-  struct {
-    MeshElemMap *vmap;
-    int *vmap_mem;
-  } blur_data;
+	/* variables for blur */
+	struct {
+		MeshElemMap *vmap;
+		int *vmap_mem;
+	} blur_data;
 
-  BLI_Stack *accumulate_stack;  /* for reuse (WPaintDefer) */
+	BLI_Stack *accumulate_stack;  /* for reuse (WPaintDefer) */
 
-  int defbase_tot;
+	int defbase_tot;
 } WPaintData;
 
 /* struct to avoid passing many args each call to do_weight_paint_vertex()
-* this _could_ be made a part of the operators 'WPaintData' struct, or at
-* least a member, but for now keep its own struct, initialized on every
-* paint stroke update - campbell */
+ * this _could_ be made a part of the operators 'WPaintData' struct, or at
+ * least a member, but for now keep its own struct, initialized on every
+ * paint stroke update - campbell */
 typedef struct WeightPaintInfo {
 
-  int defbase_tot;
+	int defbase_tot;
 
-  /* both must add up to 'defbase_tot' */
-  int defbase_tot_sel;
-  int defbase_tot_unsel;
+	/* both must add up to 'defbase_tot' */
+	int defbase_tot_sel;
+	int defbase_tot_unsel;
 
-  struct WeightPaintGroupData active, mirror;
+	struct WeightPaintGroupData active, mirror;
 
-  const bool *lock_flags;  /* boolean array for locked bones,
-                           * length of defbase_tot */
-  const bool *defbase_sel; /* boolean array for selected bones,
-                           * length of defbase_tot, cant be const because of how its passed */
+	const bool *lock_flags;  /* boolean array for locked bones,
+				  * length of defbase_tot */
+	const bool *defbase_sel; /* 

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list