[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