[Bf-blender-cvs] [e4c470efc6f] fracture_modifier-master: Merge branch 'fracture_modifier' into fm_master

Martin Felke noreply at git.blender.org
Tue Jun 12 15:54:23 CEST 2018


Commit: e4c470efc6f58f2ed929d1bcabaab3c4cba5dc9e
Author: Martin Felke
Date:   Sat May 26 03:32:49 2018 +0200
Branches: fracture_modifier-master
https://developer.blender.org/rBe4c470efc6f58f2ed929d1bcabaab3c4cba5dc9e

Merge branch 'fracture_modifier' into fm_master

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



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

diff --cc intern/cycles/kernel/svm/svm_closure.h
index 886a1333fa3,7e5134b7f2f..5ae0e0a6989
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@@ -243,39 -278,33 +243,40 @@@ ccl_device void svm_node_closure_bsdf(K
  					float3 spec_weight = weight * specular_weight;
  
  					MicrofacetBsdf *bsdf = (MicrofacetBsdf*)bsdf_alloc(sd, sizeof(MicrofacetBsdf), spec_weight);
 +					if(!bsdf){
 +						break;
 +					}
 +
  					MicrofacetExtra *extra = (MicrofacetExtra*)closure_alloc_extra(sd, sizeof(MicrofacetExtra));
 +					if(!extra) {
 +						break;
 +					}
  
 -					if(bsdf && extra) {
 -						bsdf->N = N;
 -						bsdf->ior = (2.0f / (1.0f - safe_sqrtf(0.08f * specular))) - 1.0f;
 -						bsdf->T = T;
 -						bsdf->extra = extra;
 +					bsdf->N = N;
 +					bsdf->ior = (2.0f / (1.0f - safe_sqrtf(0.08f * specular))) - 1.0f;
 +					bsdf->T = T;
 +					bsdf->extra = extra;
  
 -						float aspect = safe_sqrtf(1.0f - anisotropic * 0.9f);
 -						float r2 = roughness * roughness;
 +					float aspect = safe_sqrtf(1.0f - anisotropic * 0.9f);
 +					float r2 = roughness * roughness;
  
 -						bsdf->alpha_x = r2 / aspect;
 -						bsdf->alpha_y = r2 * aspect;
 +					bsdf->alpha_x = r2 / aspect;
 +					bsdf->alpha_y = r2 * aspect;
  
 -						float m_cdlum = 0.3f * base_color.x + 0.6f * base_color.y + 0.1f * base_color.z; // luminance approx.
 -						float3 m_ctint = m_cdlum > 0.0f ? base_color / m_cdlum : make_float3(0.0f, 0.0f, 0.0f); // normalize lum. to isolate hue+sat
 -						float3 tmp_col = make_float3(1.0f, 1.0f, 1.0f) * (1.0f - specular_tint) + m_ctint * specular_tint;
 +					float m_cdlum = 0.3f * base_color.x + 0.6f * base_color.y + 0.1f * base_color.z; // luminance approx.
 +					float3 m_ctint = m_cdlum > 0.0f ? base_color / m_cdlum : make_float3(0.0f, 0.0f, 0.0f); // normalize lum. to isolate hue+sat
 +					float3 tmp_col = make_float3(1.0f, 1.0f, 1.0f) * (1.0f - specular_tint) + m_ctint * specular_tint;
  
 -						bsdf->extra->cspec0 = (specular * 0.08f * tmp_col) * (1.0f - metallic) + base_color * metallic;
 -						bsdf->extra->color = base_color;
 +					bsdf->extra->cspec0 = (specular * 0.08f * tmp_col) * (1.0f - metallic) + base_color * metallic;
 +					bsdf->extra->color = base_color;
 +					bsdf->extra->clearcoat = 0.0f;
  
- 					/* setup bsdf */
- 					if(distribution == CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID || roughness <= 0.075f) /* use single-scatter GGX */
- 						sd->flag |= bsdf_microfacet_ggx_aniso_fresnel_setup(bsdf, sd);
- 					else /* use multi-scatter GGX */
- 						sd->flag |= bsdf_microfacet_multi_ggx_aniso_fresnel_setup(bsdf, sd);
+ 						/* setup bsdf */
+ 						if(distribution == CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID || roughness <= 0.075f) /* use single-scatter GGX */
+ 							sd->flag |= bsdf_microfacet_ggx_aniso_fresnel_setup(bsdf, sd);
+ 						else /* use multi-scatter GGX */
+ 							sd->flag |= bsdf_microfacet_multi_ggx_aniso_fresnel_setup(bsdf, sd);
+ 					}
  				}
  #ifdef __CAUSTICS_TRICKS__
  			}
diff --cc intern/cycles/render/image.cpp
index 9c5e32e8219,595eb46319a..643be6c4166
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@@ -510,13 -537,12 +510,17 @@@ bool ImageManager::file_load_image(Imag
  		pixels = &pixels_storage[0];
  	}
  	else {
 -		pixels = (StorageType*)tex_img.resize(width, height, depth);
 +		thread_scoped_lock device_lock(device_mutex);
 +		pixels = (StorageType*)tex_img.alloc(width, height, depth);
 +	}
 +	if(pixels == NULL) {
 +		/* Could be that we've run out of memory. */
 +		return false;
  	}
+ 	if(pixels == NULL) {
+ 		/* Could be that we've run out of memory. */
+ 		return false;
+ 	}
  	bool cmyk = false;
  	const size_t num_pixels = ((size_t)width) * height * depth;
  	if(in) {
diff --cc release/scripts/startup/bl_ui/properties_data_modifier.py
index e3cc08ce3d8,4467d44ee0f..8e705df920d
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@@ -153,6 -146,11 +153,10 @@@ class DATA_PT_modifiers(ModifierButtons
          layout.row().prop(md, "offset_type", expand=True)
  
      def BOOLEAN(self, layout, ob, md):
 -        solver = md.solver
+         if not bpy.app.build_options.mod_boolean:
 -            if solver == 'CARVE':
 -                layout.label("Built without Carve solver")
++            layout.label("Built without Boolean modifier")
++            return
+ 
          split = layout.split()
  
          col = split.column()
@@@ -1148,18 -1125,39 +1155,42 @@@
  
          layout.prop(md, "mode")
  
 +        row = layout.row()
 +        row.prop(md, "octree_depth")
 +        row.prop(md, "scale")
  
-         if md.mode == 'SHARP':
-             layout.prop(md, "sharpness")
+         if md.mode == 'METABALL':
+             row = layout.row()
+             row.prop(md, "input")
+             if 'PARTICLES' in md.input:
+                 row = layout.row()
+                 row.prop(md, "psys")
+                 row = layout.row()
+                 row.prop(md, "filter")
+             row = layout.row()
+             col = row.column(align=True)
+             col.prop(md, "mball_size")
+             col = row.column(align=True)
+             col.label("Display Parameters:")
+             col.prop(md, "mball_threshold")
+             col.prop(md, "mball_resolution")
+             col.prop(md, "mball_render_resolution")
+             layout.prop_search(md, "size_vertex_group", ob, "vertex_groups", text = "Size Vertex Group")
+             layout.prop(md, "use_smooth_shade")
+ 
+         else:
+             row = layout.row()
+             row.prop(md, "octree_depth")
+             row.prop(md, "scale")
+ 
+             if md.mode == 'SHARP':
+                 layout.prop(md, "sharpness")
  
-         layout.prop(md, "use_smooth_shade")
-         layout.prop(md, "use_remove_disconnected")
-         row = layout.row()
-         row.active = md.use_remove_disconnected
-         row.prop(md, "threshold")
+             layout.prop(md, "use_smooth_shade")
+             layout.prop(md, "use_remove_disconnected")
+             row = layout.row()
+             row.active = md.use_remove_disconnected
+             row.prop(md, "threshold")
  
      @staticmethod
      def vertex_weight_mask(layout, ob, md):
diff --cc release/scripts/startup/bl_ui/properties_physics_softbody.py
index 8f193427441,5efe105e7d8..e6545120eb5
--- a/release/scripts/startup/bl_ui/properties_physics_softbody.py
+++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py
@@@ -20,15 -20,15 +20,18 @@@
  import bpy
  from bpy.types import Panel
  
 -from bl_ui.properties_physics_common import (
 -        point_cache_ui,
 -        effector_weights_ui,
 -        )
 +from .properties_physics_common import (
 +    point_cache_ui,
 +    effector_weights_ui,
 +)
 +
 +
 +COMPAT_OB_TYPES = {'MESH', 'LATTICE', 'CURVE', 'SURFACE', 'FONT'}
  
  
+ COMPAT_OB_TYPES = {'MESH', 'LATTICE', 'CURVE', 'SURFACE', 'FONT'}
+ 
+ 
  def softbody_panel_enabled(md):
      return (md.point_cache.is_baked is False)
  
diff --cc source/blender/blenkernel/BKE_armature.h
index f6de39c897e,3bf3fd2512f..4567b52cd78
--- a/source/blender/blenkernel/BKE_armature.h
+++ b/source/blender/blenkernel/BKE_armature.h
@@@ -169,12 -168,14 +169,17 @@@ void BKE_splineik_execute_tree(struct S
  
  void BKE_pose_eval_init(struct EvaluationContext *eval_ctx,
                          struct Scene *scene,
 -                        struct Object *ob,
 -                        struct bPose *pose);
 +                        struct Object *ob);
 +
 +void BKE_pose_eval_init_ik(struct EvaluationContext *eval_ctx,
 +                           struct Scene *scene,
 +                           struct Object *ob);
  
+ void BKE_pose_eval_init_ik(struct EvaluationContext *eval_ctx,
+                            struct Scene *scene,
+                            struct Object *ob,
+                            struct bPose *pose);
+ 
  void BKE_pose_eval_bone(struct EvaluationContext *eval_ctx,
                          struct Scene *scene,
                          struct Object *ob,
diff --cc source/blender/blenkernel/BKE_brush.h
index f2601f2ca32,ec60a29b927..cc2e84d4c73
--- a/source/blender/blenkernel/BKE_brush.h
+++ b/source/blender/blenkernel/BKE_brush.h
@@@ -105,12 -102,12 +105,14 @@@ void BKE_brush_alpha_set(struct Scene *
  float BKE_brush_weight_get(const struct Scene *scene, const struct Brush *brush);
  void BKE_brush_weight_set(const struct Scene *scene, struct Brush *brush, float value);
  
 -int  BKE_brush_use_locked_size(const struct Scene *scene, const struct Brush *brush);
 -int  BKE_brush_use_alpha_pressure(const struct Scene *scene, const struct Brush *brush);
 -int  BKE_brush_use_size_pressure(const struct Scene *scene, const struct Brush *brush);
 +bool BKE_brush_use_locked_size(const struct Scene *scene, const struct Brush *brush);
 +bool BKE_brush_use_alpha_pressure(const struct Scene *scene, const struct Brush *brush);
 +bool BKE_brush_use_size_pressure(const struct Scene *scene, const struct Brush *brush);
 +
 +bool BKE_brush_sculpt_has_secondary_color(const struct Brush *brush);
  
+ bool BKE_brush_sculpt_has_secondary_color(const struct Brush *brush);
+ 
  /* scale unprojected radius to reflect a change in the brush's 2D size */
  void BKE_brush_scale_unprojected_radius(
          float *unprojected_radius,
diff --cc source/blender/blenkernel/BKE_rigidbody.h
index 3c7274ca3c5,d0548cfc1d6..02a31d55683
--- a/source/blender/blenkernel/BKE_rigidbody.h
+++ b/source/blender/blenkernel/BKE_rigidbody.h
@@@ -62,11 -66,13 +66,13 @@@ void BKE_rigidbody_world_id_loop(struc
  
  /* create Blender-side settings data - physics objects not initialized yet */
  struct RigidBodyWorld *BKE_rigidbody_create_world(struct Scene *scene);
- struct RigidBodyOb *BKE_rigidbody_create_object(struct Scene *scene, struct Object *ob, short type);
- struct RigidBodyCon *BKE_rigidbody_create_constraint(struct Scene *scene, struct Object *ob, short type);
+ struct RigidBodyOb *BKE_rigidbody_create_object(struct Scene *scene, struct Object *ob, short type, struct MeshIsland *mi);
+ struct RigidBodyCon *BKE_rigidbody_create_constraint(struct Scen

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list