[Bf-blender-cvs] [dc2d841b7c5] hair_guides hair_guides_grooming: Merge branch 'blender2.8' into hair_guides

Lukas Tönne noreply at git.blender.org
Sun Aug 12 13:59:59 CEST 2018


Commit: dc2d841b7c50565302af2986d62ddbd29c332acd
Author: Lukas Tönne
Date:   Sun Aug 12 12:52:49 2018 +0100
Branches: hair_guides hair_guides_grooming
https://developer.blender.org/rBdc2d841b7c50565302af2986d62ddbd29c332acd

Merge branch 'blender2.8' into hair_guides

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



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

diff --cc intern/cycles/blender/blender_mesh.cpp
index c7e8fb6f72f,8a6480a9a42..1d0e8fc6ace
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@@ -1205,16 -1188,10 +1188,12 @@@ Mesh *BlenderSync::sync_mesh(BL::Depsgr
  
  				create_mesh_volume_attributes(scene, b_ob, mesh, b_scene.frame_current());
  			}
 +		}
  
 -			if(view_layer.use_hair && mesh->subdivision_type == Mesh::SUBDIVISION_NONE)
 -				sync_curves(mesh, b_mesh, b_ob, false);
 +		if(view_layer.use_hair && mesh->subdivision_type == Mesh::SUBDIVISION_NONE)
 +			sync_curves(mesh, b_mesh, b_ob, false);
  
- 		if(can_free_caches) {
- 			b_ob.cache_release();
- 		}
- 
 +		if(b_mesh) {
  			/* free derived mesh */
  			b_data.meshes.remove(b_mesh, false, true, false);
  		}
diff --cc release/scripts/startup/bl_ui/__init__.py
index e91f3727f20,89aed37f055..3b0cc2527a8
--- a/release/scripts/startup/bl_ui/__init__.py
+++ b/release/scripts/startup/bl_ui/__init__.py
@@@ -42,9 -44,9 +44,10 @@@ _modules = 
      "properties_data_lightprobe",
      "properties_data_speaker",
      "properties_data_workspace",
 +    "properties_hair_common",
      "properties_mask_common",
      "properties_material",
+     "properties_material_gpencil",
      "properties_object",
      "properties_paint_common",
      "properties_grease_pencil_common",
diff --cc release/scripts/startup/bl_ui/properties_data_modifier.py
index cd0617d8f26,93e789bbd19..e2a537acadd
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@@ -1562,27 -1577,464 +1577,485 @@@ class DATA_PT_modifiers(ModifierButtons
          if md.rest_source == 'BIND':
              layout.operator("object.correctivesmooth_bind", text="Unbind" if is_bind else "Bind")
  
 +    def HAIR(self, layout, ob, md):
 +        hsys = md.hair_system
 +
 +        split = layout.split()
 +
 +        col = split.column()
 +        col.label("Follicles:")
 +        col.prop(md, "follicle_seed")
 +        col.prop(md, "follicle_count")
 +        col.operator("object.hair_generate_follicles", text="Generate")
 +
 +        col = split.column()
 +
 +        col.separator()
 +
 +        col.prop(hsys, "material_slot", text="")
 +
 +        col = layout.column()
 +        col.label("Display Settings:")
 +        draw_hair_display_settings(col, md.draw_settings)
 +
+     def WEIGHTED_NORMAL(self, layout, ob, md):
+         layout.label("Weighting Mode:")
+         split = layout.split(align=True)
+         col = split.column(align=True)
+         col.prop(md, "mode", text="")
+         col.prop(md, "weight", text="Weight")
+         col.prop(md, "keep_sharp")
+ 
+         col = split.column(align=True)
+         row = col.row(align=True)
+         row.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
+         row.active = bool(md.vertex_group)
+         row.prop(md, "invert_vertex_group", text="", icon='ARROW_LEFTRIGHT')
+         col.prop(md, "thresh", text="Threshold")
+         col.prop(md, "face_influence")
+ 
+ 
+ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
+     bl_label = "Modifiers"
+ 
+     @classmethod
+     def poll(cls, context):
+         ob = context.object
+         return ob and ob.type == 'GPENCIL'
+ 
+     def draw(self, context):
+         layout = self.layout
+ 
+         ob = context.object
+ 
+         layout.operator_menu_enum("object.gpencil_modifier_add", "type")
+ 
+         for md in ob.grease_pencil_modifiers:
+             box = layout.template_greasepencil_modifier(md)
+             if box:
+                 # match enum type to our functions, avoids a lookup table.
+                 getattr(self, md.type)(box, ob, md)
+ 
+     # the mt.type enum is (ab)used for a lookup on function names
+     # ...to avoid lengthy if statements
+     # so each type must have a function here.
+ 
+     def GP_NOISE(self, layout, ob, md):
+         gpd = ob.data
+         split = layout.split()
+ 
+         col = split.column()
+         row = col.row(align=True)
+         row.prop(md, "factor")
+         row.prop(md, "random", text="", icon="TIME", toggle=True)
+         row = col.row()
+         row.enabled = md.random
+         row.prop(md, "step")
+         col.prop(md, "full_stroke")
+         col.prop(md, "move_extreme")
+ 
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+         row.prop(md, "invert_layers", text="", icon="ARROW_LEFTRIGHT")
+ 
+         col.label("Vertex Group:")
+         row = col.row(align=True)
+         row.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
+         row.prop(md, "invert_vertex", text="", icon="ARROW_LEFTRIGHT")
+ 
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+         row = layout.row(align=True)
+         row.label("Affect:")
+         row = layout.row(align=True)
+         row.prop(md, "affect_position", text="Position", icon='MESH_DATA', toggle=True)
+         row.prop(md, "affect_strength", text="Strength", icon='COLOR', toggle=True)
+         row.prop(md, "affect_thickness", text="Thickness", icon='LINE_DATA', toggle=True)
+         row.prop(md, "affect_uv", text="UV", icon='MOD_UVPROJECT', toggle=True)
+ 
+     def GP_SMOOTH(self, layout, ob, md):
+         gpd = ob.data
+         row = layout.row(align=False)
+         row.prop(md, "factor")
+         row.prop(md, "step")
+ 
+         split = layout.split()
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+         row.prop(md, "invert_layers", text="", icon="ARROW_LEFTRIGHT")
+ 
+         col = split.column()
+         col.label("Vertex Group:")
+         row = col.row(align=True)
+         row.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
+         row.prop(md, "invert_vertex", text="", icon="ARROW_LEFTRIGHT")
+ 
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+         row = layout.row(align=True)
+         row.label("Affect:")
+         row = layout.row(align=True)
+         row.prop(md, "affect_position", text="Position", icon='MESH_DATA', toggle=True)
+         row.prop(md, "affect_strength", text="Strength", icon='COLOR', toggle=True)
+         row.prop(md, "affect_thickness", text="Thickness", icon='LINE_DATA', toggle=True)
+         row.prop(md, "affect_uv", text="UV", icon='MOD_UVPROJECT', toggle=True)
+ 
+     def GP_SUBDIV(self, layout, ob, md):
+         gpd = ob.data
+         split = layout.split()
+ 
+         col = split.column()
+         row = col.row(align=True)
+         row.prop(md, "level")
+         row.prop(md, "simple", text="", icon="PARTICLE_POINT")
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+         row.prop(md, "invert_layers", text="", icon="ARROW_LEFTRIGHT")
+ 
+     def GP_SIMPLIFY(self, layout, ob, md):
+         gpd = ob.data
+ 
+         row = layout.row()
+         row.prop(md, "mode")
+ 
+         split = layout.split()
+ 
+         col = split.column()
+         col.label("Settings:")
+         row = col.row(align=True)
+         row.enabled = md.mode == 'FIXED'
+         row.prop(md, "step")
+ 
+         row = col.row(align=True)
+         row.enabled = not md.mode == 'FIXED'
+         row.prop(md, "factor")
+ 
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+ 
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+     def GP_THICK(self, layout, ob, md):
+         gpd = ob.data
+         split = layout.split()
+ 
+         col = split.column()
+         row = col.row(align=True)
+         row.prop(md, "thickness")
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+         col.prop(md, "normalize_thickness")
+ 
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+         row.prop(md, "invert_layers", text="", icon="ARROW_LEFTRIGHT")
+ 
+         col.label("Vertex Group:")
+         row = col.row(align=True)
+         row.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
+         row.prop(md, "invert_vertex", text="", icon="ARROW_LEFTRIGHT")
+ 
+         if not md.normalize_thickness:
+             split = layout.split()
+             col = split.column()
+             col.prop(md, "use_custom_curve")
+ 
+             if md.use_custom_curve:
+                 col.template_curve_mapping(md, "curve")
+ 
+     def GP_TINT(self, layout, ob, md):
+         gpd = ob.data
+         split = layout.split()
+ 
+         col = split.column()
+         col.prop(md, "color")
+         col.prop(md, "factor")
+ 
+         col = split.column()
+         col.label("Layer:")
+         row = col.row(align=True)
+         row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+         row.prop(md, "invert_layers", text="", icon="ARROW_LEFTRIGHT")
+         row = col.row(align=True)
+         row.prop(md, "pass_index", text="Pass")
+         row.prop(md, "invert_pass", text="", icon="ARROW_LEFTRIGHT")
+ 
+         row = layout.row()
+         row.prop(md, "create_materials")
+         row.prop(md, "modify_color")
+         
+ 
+     def GP_COLOR(self, layout, ob, md):
+         gpd = ob.data
+ 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list