[Bf-blender-cvs] [c319d47] experimental-build: Another experimental Cycles build

2016-10-02 Thread Lukas Stockner
Commit: c319d47f8e7c5b8b9e3d7104c4a658d1d28a501c
Author: Lukas Stockner
Date:   Mon Oct 3 03:59:21 2016 +0200
Branches: experimental-build
https://developer.blender.org/rBc319d47f8e7c5b8b9e3d7104c4a658d1d28a501c

Another experimental Cycles build

Contains:
- Cycles Denoising - NOTE: The Windows Black Square bug might still be in 
there, the fix is not as easy as it seemed...
- Probabilistic Light Sampling Termination (D2217)
- Better progress estimation system for Cycles  (D2214)
- Red Highlighting for invalid Shader Node connections (D2190)
- IES Textures for Cycles Lights (D1543)
- Blue-Noise Dithered Sampling (D2149)
- Microjittered sampling (P366)
- Light Group Render Passes - contain only light from lamps and/or meshes that 
are in the specified group (unsubmitted, just a quick test)
- Cycles Shadow Catcher (D1788)

It should be obvious from the name of this branch, but these changes are all 
highly experimental right now - especially when combined together. Don't expect 
to be able to use this for productive work :)

===

M   CMakeLists.txt
M   intern/cycles/CMakeLists.txt
M   intern/cycles/app/CMakeLists.txt
A   intern/cycles/app/cycles_denoising.cpp
A   intern/cycles/app/cycles_denoising.h
A   intern/cycles/app/cycles_dithering.cpp
M   intern/cycles/app/cycles_standalone.cpp
A   intern/cycles/app/cycles_standalone.h
M   intern/cycles/blender/addon/__init__.py
M   intern/cycles/blender/addon/engine.py
M   intern/cycles/blender/addon/properties.py
M   intern/cycles/blender/addon/ui.py
M   intern/cycles/blender/blender_object.cpp
M   intern/cycles/blender/blender_python.cpp
M   intern/cycles/blender/blender_session.cpp
M   intern/cycles/blender/blender_session.h
M   intern/cycles/blender/blender_shader.cpp
M   intern/cycles/blender/blender_sync.cpp
M   intern/cycles/blender/blender_sync.h
M   intern/cycles/blender/blender_util.h
M   intern/cycles/device/device.h
M   intern/cycles/device/device_cpu.cpp
M   intern/cycles/device/device_cuda.cpp
M   intern/cycles/device/device_multi.cpp
M   intern/cycles/device/device_network.cpp
M   intern/cycles/device/device_opencl.cpp
M   intern/cycles/device/device_task.cpp
M   intern/cycles/device/device_task.h
M   intern/cycles/kernel/CMakeLists.txt
M   intern/cycles/kernel/bvh/bvh.h
M   intern/cycles/kernel/bvh/bvh_shadow_all.h
M   intern/cycles/kernel/bvh/qbvh_shadow_all.h
M   intern/cycles/kernel/closure/bsdf_ashikhmin_velvet.h
M   intern/cycles/kernel/closure/bsdf_diffuse.h
M   intern/cycles/kernel/closure/bsdf_diffuse_ramp.h
M   intern/cycles/kernel/closure/bsdf_microfacet.h
M   intern/cycles/kernel/closure/bsdf_microfacet_multi.h
M   intern/cycles/kernel/closure/bsdf_oren_nayar.h
M   intern/cycles/kernel/closure/bsdf_phong_ramp.h
M   intern/cycles/kernel/closure/bsdf_toon.h
M   intern/cycles/kernel/closure/bssrdf.h
M   intern/cycles/kernel/geom/geom_object.h
M   intern/cycles/kernel/geom/geom_triangle.h
M   intern/cycles/kernel/kernel_accumulate.h
M   intern/cycles/kernel/kernel_bake.h
M   intern/cycles/kernel/kernel_compat_cpu.h
M   intern/cycles/kernel/kernel_compat_cuda.h
M   intern/cycles/kernel/kernel_emission.h
A   intern/cycles/kernel/kernel_filter.h
A   intern/cycles/kernel/kernel_filter_old.h
A   intern/cycles/kernel/kernel_filter_pre.h
A   intern/cycles/kernel/kernel_filter_util.h
M   intern/cycles/kernel/kernel_light.h
M   intern/cycles/kernel/kernel_passes.h
M   intern/cycles/kernel/kernel_path.h
M   intern/cycles/kernel/kernel_path_branched.h
M   intern/cycles/kernel/kernel_path_state.h
M   intern/cycles/kernel/kernel_path_surface.h
M   intern/cycles/kernel/kernel_path_volume.h
M   intern/cycles/kernel/kernel_projection.h
M   intern/cycles/kernel/kernel_random.h
M   intern/cycles/kernel/kernel_shader.h
M   intern/cycles/kernel/kernel_shadow.h
M   intern/cycles/kernel/kernel_textures.h
M   intern/cycles/kernel/kernel_types.h
M   intern/cycles/kernel/kernel_volume.h
M   intern/cycles/kernel/kernels/cpu/kernel_cpu.h
M   intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h
M   intern/cycles/kernel/kernels/cuda/kernel.cu
M   intern/cycles/kernel/kernels/opencl/kernel_direct_lighting.cl
M   intern/cycles/kernel/kernels/opencl/kernel_next_iteration_setup.cl
M   intern/cycles/kernel/osl/osl_services.cpp
M   intern/cycles/kernel/shaders/CMakeLists.txt
A   intern/cycles/kernel/shaders/node_ies_light.osl
M   intern/cycles/kernel/split/kernel_background_buffer_update.h
M   intern/cycles/kernel/split/kernel_data_init.h
M   intern/cycles/kernel/split/kernel_direct_lighting.h
M   
intern/cycles/kernel/split/kernel_holdout_emission_blurring_pathtermination_ao.h
M   

[Bf-blender-cvs] [19c1a1b] experimental-build: Merge remote-tracking branch 'origin/master' into experimental-build

2016-10-02 Thread Lukas Stockner
Commit: 19c1a1b3e2e1a5c5359250fe7d7e311842907e74
Author: Lukas Stockner
Date:   Mon Oct 3 03:57:54 2016 +0200
Branches: experimental-build
https://developer.blender.org/rB19c1a1b3e2e1a5c5359250fe7d7e311842907e74

Merge remote-tracking branch 'origin/master' into experimental-build

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [97af83e] experimental-build: Revert "Another experimental Cycles build"

2016-10-02 Thread Lukas Stockner
Commit: 97af83e404e964c7ec08adcce872c434995d
Author: Lukas Stockner
Date:   Mon Oct 3 04:05:00 2016 +0200
Branches: experimental-build
https://developer.blender.org/rB97af83e404e964c7ec08adcce872c434995d

Revert "Another experimental Cycles build"

This reverts commit c319d47f8e7c5b8b9e3d7104c4a658d1d28a501c.

===

M   CMakeLists.txt
M   intern/cycles/CMakeLists.txt
M   intern/cycles/app/CMakeLists.txt
D   intern/cycles/app/cycles_denoising.cpp
D   intern/cycles/app/cycles_denoising.h
D   intern/cycles/app/cycles_dithering.cpp
M   intern/cycles/app/cycles_standalone.cpp
D   intern/cycles/app/cycles_standalone.h
M   intern/cycles/blender/addon/__init__.py
M   intern/cycles/blender/addon/engine.py
M   intern/cycles/blender/addon/properties.py
M   intern/cycles/blender/addon/ui.py
M   intern/cycles/blender/blender_object.cpp
M   intern/cycles/blender/blender_python.cpp
M   intern/cycles/blender/blender_session.cpp
M   intern/cycles/blender/blender_session.h
M   intern/cycles/blender/blender_shader.cpp
M   intern/cycles/blender/blender_sync.cpp
M   intern/cycles/blender/blender_sync.h
M   intern/cycles/blender/blender_util.h
M   intern/cycles/device/device.h
M   intern/cycles/device/device_cpu.cpp
M   intern/cycles/device/device_cuda.cpp
M   intern/cycles/device/device_multi.cpp
M   intern/cycles/device/device_network.cpp
M   intern/cycles/device/device_opencl.cpp
M   intern/cycles/device/device_task.cpp
M   intern/cycles/device/device_task.h
M   intern/cycles/kernel/CMakeLists.txt
M   intern/cycles/kernel/bvh/bvh.h
M   intern/cycles/kernel/bvh/bvh_shadow_all.h
M   intern/cycles/kernel/bvh/qbvh_shadow_all.h
M   intern/cycles/kernel/closure/bsdf_ashikhmin_velvet.h
M   intern/cycles/kernel/closure/bsdf_diffuse.h
M   intern/cycles/kernel/closure/bsdf_diffuse_ramp.h
M   intern/cycles/kernel/closure/bsdf_microfacet.h
M   intern/cycles/kernel/closure/bsdf_microfacet_multi.h
M   intern/cycles/kernel/closure/bsdf_oren_nayar.h
M   intern/cycles/kernel/closure/bsdf_phong_ramp.h
M   intern/cycles/kernel/closure/bsdf_toon.h
M   intern/cycles/kernel/closure/bssrdf.h
M   intern/cycles/kernel/geom/geom_object.h
M   intern/cycles/kernel/geom/geom_triangle.h
M   intern/cycles/kernel/kernel_accumulate.h
M   intern/cycles/kernel/kernel_bake.h
M   intern/cycles/kernel/kernel_compat_cpu.h
M   intern/cycles/kernel/kernel_compat_cuda.h
M   intern/cycles/kernel/kernel_emission.h
D   intern/cycles/kernel/kernel_filter.h
D   intern/cycles/kernel/kernel_filter_old.h
D   intern/cycles/kernel/kernel_filter_pre.h
D   intern/cycles/kernel/kernel_filter_util.h
M   intern/cycles/kernel/kernel_light.h
M   intern/cycles/kernel/kernel_passes.h
M   intern/cycles/kernel/kernel_path.h
M   intern/cycles/kernel/kernel_path_branched.h
M   intern/cycles/kernel/kernel_path_state.h
M   intern/cycles/kernel/kernel_path_surface.h
M   intern/cycles/kernel/kernel_path_volume.h
M   intern/cycles/kernel/kernel_projection.h
M   intern/cycles/kernel/kernel_random.h
M   intern/cycles/kernel/kernel_shader.h
M   intern/cycles/kernel/kernel_shadow.h
M   intern/cycles/kernel/kernel_textures.h
M   intern/cycles/kernel/kernel_types.h
M   intern/cycles/kernel/kernel_volume.h
M   intern/cycles/kernel/kernels/cpu/kernel_cpu.h
M   intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h
M   intern/cycles/kernel/kernels/cuda/kernel.cu
M   intern/cycles/kernel/kernels/opencl/kernel_direct_lighting.cl
M   intern/cycles/kernel/kernels/opencl/kernel_next_iteration_setup.cl
M   intern/cycles/kernel/osl/osl_services.cpp
M   intern/cycles/kernel/shaders/CMakeLists.txt
D   intern/cycles/kernel/shaders/node_ies_light.osl
M   intern/cycles/kernel/split/kernel_background_buffer_update.h
M   intern/cycles/kernel/split/kernel_data_init.h
M   intern/cycles/kernel/split/kernel_direct_lighting.h
M   
intern/cycles/kernel/split/kernel_holdout_emission_blurring_pathtermination_ao.h
M   intern/cycles/kernel/split/kernel_lamp_emission.h
M   intern/cycles/kernel/split/kernel_next_iteration_setup.h
M   intern/cycles/kernel/svm/svm.h
M   intern/cycles/kernel/svm/svm_closure.h
M   intern/cycles/kernel/svm/svm_displace.h
D   intern/cycles/kernel/svm/svm_ies.h
M   intern/cycles/kernel/svm/svm_image.h
M   intern/cycles/kernel/svm/svm_types.h
M   intern/cycles/render/CMakeLists.txt
M   intern/cycles/render/bake.cpp
M   intern/cycles/render/bake.h
M   intern/cycles/render/buffers.cpp
M   intern/cycles/render/buffers.h
D   intern/cycles/render/denoising.cpp
D   intern/cycles/render/denoising.h
M   intern/cycles/render/film.cpp
M   intern/cycles/render/film.h
M  

[Bf-blender-cvs] [d1e68a9] temp_manipulators_core: Fix local ListBase var not initialized

2016-10-02 Thread Julian Eisel
Commit: d1e68a92aa55146d4adf5be014fda4606a5db54d
Author: Julian Eisel
Date:   Mon Oct 3 01:35:02 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rBd1e68a92aa55146d4adf5be014fda4606a5db54d

Fix local ListBase var not initialized

===

M   source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c

===

diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index dab7d61..1aa71ce 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -419,7 +419,7 @@ wmManipulator 
*wm_manipulatormap_find_highlighted_manipulator(
 unsigned char *part)
 {
wmManipulator *manipulator = NULL;
-   ListBase visible_3d_manipulators;
+   ListBase visible_3d_manipulators = {NULL};
 
for (wmManipulatorGroup *mgroup = mmap->manipulator_groups.first; 
mgroup; mgroup = mgroup->next) {
if (wm_manipulatorgroup_is_visible(mgroup, C)) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [100d043] custom-manipulators: Merge branch 'temp_manipulators_core' into custom-manipulators

2016-10-02 Thread Julian Eisel
Commit: 100d043fce2eabbbf3b55bb433551f5425180622
Author: Julian Eisel
Date:   Mon Oct 3 01:31:15 2016 +0200
Branches: custom-manipulators
https://developer.blender.org/rB100d043fce2eabbbf3b55bb433551f5425180622

Merge branch 'temp_manipulators_core' into custom-manipulators

Also made changes to get branch compile and work.
Conflicts:
source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h

===



===

diff --cc source/blender/editors/space_graph/graph_edit.c
index 971f8a3,f38d368..6e6dbeb
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@@ -2748,177 -2746,3 +2748,177 @@@ void GRAPH_OT_driver_variables_paste(wm
  }
  
  /* ** 
*/
 +
 +typedef struct BackDropTransformData {
 +  float init_offset[2];
 +  float init_zoom;
 +  short event_type;
 +} BackDropTransformData;
 +
 +static int graph_widget_backdrop_transform_poll(bContext *C)
 +{
 +  SpaceIpo *sipo = CTX_wm_space_graph(C);
 +  ARegion *ar = CTX_wm_region(C);
 +
 +  return ((sipo != NULL) &&
 +  (ar->type->regionid == RGN_TYPE_WINDOW) &&
 +  (sipo->flag & SIPO_DRAW_BACKDROP) &&
 +  (sipo->backdrop_camera));
 +}
 +
 +static void widgetgroup_backdrop_init(const bContext *UNUSED(C), 
wmManipulatorGroup *wgroup)
 +{
 +  wmManipulatorWrapper *wwrapper = 
MEM_mallocN(sizeof(wmManipulatorWrapper), __func__);
 +  wgroup->customdata = wwrapper;
 +
 +  wwrapper->manipulator = MANIPULATOR_rect_transform_new(
 +   wgroup, "backdrop_cage",
 +   MANIPULATOR_RECT_TRANSFORM_STYLE_SCALE_UNIFORM | 
MANIPULATOR_RECT_TRANSFORM_STYLE_TRANSLATE);
 +}
 +
 +static void widgetgroup_backdrop_refresh(const struct bContext *C, 
wmManipulatorGroup *wgroup)
 +{
 +  wmManipulator *cage = ((wmManipulatorWrapper 
*)wgroup->customdata)->manipulator;
 +  ARegion *ar = CTX_wm_region(C);
 +  const Scene *scene = CTX_data_scene(C);
 +  const int width = (scene->r.size * scene->r.xsch) / 150.0f;
 +  const int height = (scene->r.size * scene->r.ysch) / 150.0f;
 +  float origin[3];
 +
 +  origin[0] = BLI_rcti_size_x(>winrct) / 2.0f;
 +  origin[1] = BLI_rcti_size_y(>winrct) / 2.0f;
 +
 +  WM_manipulator_set_origin(cage, origin);
 +  MANIPULATOR_rect_transform_set_dimensions(cage, width, height);
 +
 +  /* XXX hmmm, can't we do this in _init somehow? Issue is op->ptr is 
freed after OP is done. */
 +  wmOperator *op = wgroup->type->op;
 +  WM_manipulator_set_property(cage, RECT_TRANSFORM_SLOT_OFFSET, op->ptr, 
"offset");
 +  WM_manipulator_set_property(cage, RECT_TRANSFORM_SLOT_SCALE, op->ptr, 
"scale");
 +}
 +
 +static void GRAPH_WGT_backdrop_transform(wmManipulatorGroupType *wgt)
 +{
 +  wgt->name = "Backdrop Transform Widgets";
 +
 +  wgt->init = widgetgroup_backdrop_init;
 +  wgt->refresh = widgetgroup_backdrop_refresh;
 +}
 +
 +static int graph_widget_backdrop_transform_invoke(bContext *C, wmOperator 
*op, const wmEvent *event)
 +{
 +  ScrArea *sa = CTX_wm_area(C);
 +  SpaceIpo *sipo = CTX_wm_space_graph(C);
 +  BackDropTransformData *data = 
MEM_mallocN(sizeof(BackDropTransformData), "overdrop transform data");
 +
 +  RNA_float_set_array(op->ptr, "offset", sipo->backdrop_offset);
 +  RNA_float_set(op->ptr, "scale", sipo->backdrop_zoom);
 +
 +  copy_v2_v2(data->init_offset, sipo->backdrop_offset);
 +  data->init_zoom = sipo->backdrop_zoom;
 +  data->event_type = event->type;
 +
 +  op->customdata = data;
 +  WM_event_add_modal_handler(C, op);
 +
 +  ED_area_headerprint(sa, "Drag to place, and scale, Space/Enter/Caller 
key to confirm, R to recenter, RClick/Esc to cancel");
 +
 +  return OPERATOR_RUNNING_MODAL;
 +}
 +
 +static void graph_widget_backdrop_transform_finish(bContext *C, 
BackDropTransformData *data)
 +{
 +  ScrArea *sa = CTX_wm_area(C);
 +  ED_area_headerprint(sa, NULL);
 +  MEM_freeN(data);
 +}
 +
 +static void graph_widget_backdrop_transform_cancel(struct bContext *C, struct 
wmOperator *op)
 +{
 +  BackDropTransformData *data = op->customdata;
 +  graph_widget_backdrop_transform_finish(C, data);
 +}
 +
 +static int graph_widget_backdrop_transform_modal(bContext *C, wmOperator *op, 
const wmEvent *event)
 +{
 +  ARegion *ar = CTX_wm_region(C);
 +  BackDropTransformData *data = op->customdata;
 +
 +  if (event->type == data->event_type && event->val == KM_PRESS) {
 +  graph_widget_backdrop_transform_finish(C, data);
 +  return OPERATOR_FINISHED;
 +  }
 +
 +  switch (event->type) {
 +  case EVT_MANIPULATOR_UPDATE:
 +  {
 +  SpaceIpo *sipo = CTX_wm_space_graph(C);
 +  

[Bf-blender-cvs] [cc00da8] fracture_modifier: dynamic fracture: added back constraint support for it

2016-10-02 Thread Martin Felke
Commit: cc00da895ecab3e280b0fe84c808d45daf0e9f48
Author: Martin Felke
Date:   Mon Oct 3 01:21:23 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rBcc00da895ecab3e280b0fe84c808d45daf0e9f48

dynamic fracture: added back constraint support for it

===

M   source/blender/blenkernel/intern/fracture.c
M   source/blender/blenkernel/intern/rigidbody.c
M   source/blender/blenloader/intern/readfile.c
M   source/blender/modifiers/intern/MOD_fracture.c

===

diff --git a/source/blender/blenkernel/intern/fracture.c 
b/source/blender/blenkernel/intern/fracture.c
index ddb1f60..604c289 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -2173,6 +2173,17 @@ void BKE_free_constraints(FractureModifierData *fmd)
MeshIsland *mi = NULL;
RigidBodyShardCon *rbsc = NULL;
 
+   //hmm after loading the pointers might be out of sync...
+   if (fmd->fracture_mode == MOD_FRACTURE_DYNAMIC) {
+   if (fmd->current_mi_entry) {
+   fmd->meshIslands = fmd->current_mi_entry->meshIslands;
+   }
+   else {
+   fmd->meshIslands.first = NULL;
+   fmd->meshIslands.last = NULL;
+   }
+   }
+
for (mi = fmd->meshIslands.first; mi; mi = mi->next) {
if (mi->participating_constraints != NULL && 
mi->participating_constraint_count > 0) {
MEM_freeN(mi->participating_constraints);
diff --git a/source/blender/blenkernel/intern/rigidbody.c 
b/source/blender/blenkernel/intern/rigidbody.c
index 7b9a822..8234507 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -2137,12 +2137,21 @@ static void check_fracture(rbContactPoint* cp, 
RigidBodyWorld *rbw)
int id = 
rbw->cache_index_map[linear_index1]->meshisland_index;
Shard *s = findShard(fmd1, id);
 
-   if (force > fmd1->dynamic_force || (/*force > 
fmd1->dynamic_force &&*/ s && ob2 && (fmd1->limit_impact &&
-  can_break(ob2, ob1, fmd1->limit_impact, s
+   if ((force > fmd1->dynamic_force && 
(!fmd1->limit_impact || (fmd1->limit_impact && s && (s->parent_id > 0 || 
s->shard_id > 0)) ||
+   (s && ob2 && (fmd1->limit_impact && 
can_break(ob2, ob1, fmd1->limit_impact, s))
{
if (s) {
float size[3];
-   BKE_object_dimensions_get(ob2, 
size);
+
+   if (ob1 == ob2 || (ob2 && 
ob2->rigidbody_object && ob2->rigidbody_object->type == RBO_TYPE_PASSIVE)) {
+   size[0] = -1.0f; //mark 
as invalid, so the regular object size is used
+   size[1] = -1.0f;
+   size[2] = -1.0f;
+   }
+   else {
+   
BKE_object_dimensions_get(ob2, size);
+   }
+
copy_v3_v3(s->impact_loc, 
cp->contact_pos_world_onA);
copy_v3_v3(s->impact_size, 
size);
}
@@ -2173,12 +2182,19 @@ static void check_fracture(rbContactPoint* cp, 
RigidBodyWorld *rbw)
int id = 
rbw->cache_index_map[linear_index2]->meshisland_index;
Shard *s = findShard(fmd2, id);
 
-   if (force > fmd2->dynamic_force || ( /*force > 
fmd2->dynamic_force &&*/ ob1 && s && (fmd2->limit_impact &&
-  can_break(ob1, ob2, fmd2->limit_impact, s
+   if (force > fmd2->dynamic_force && 
(!fmd2->limit_impact || (fmd2->limit_impact && s && (s->parent_id > 0 || 
s->shard_id > 0)) ||
+   (ob1 && s && (fmd2->limit_impact && 
can_break(ob1, ob2, fmd2->limit_impact, s)
{
if (s) {
float size[3];
-   BKE_object_dimensions_get(ob1, 
size);
+   if (ob1 == ob2 || (ob1 && 
ob1->rigidbody_object && ob1->rigidbody_object->type == RBO_TYPE_PASSIVE)) {
+ 

[Bf-blender-cvs] [d4f3278] temp_manipulators_core: Fixes for custom-manipulators branch

2016-10-02 Thread Julian Eisel
Commit: d4f327896274b3f4995af3d0beb8c0cf0f36b803
Author: Julian Eisel
Date:   Mon Oct 3 00:52:41 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rBd4f327896274b3f4995af3d0beb8c0cf0f36b803

Fixes for custom-manipulators branch

===

M   source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
M   source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h

===

diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index a938e8b..c2780d3 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -58,23 +58,16 @@
 #include "wm_manipulator_intern.h"
 
 
-/* wmManipulatorGroupType.flag_intern */
-enum {
-   /* manipulator group is attached to operator, and is only accessible as 
long as this runs */
-   WM_MANIPULATORGROUPTYPE_OP  = (1 << 0),
-};
+/*  */
+/** \name wmManipulatorGroup
+ *
+ * \{ */
 
 /* wmManipulatorGroup.flag */
 enum {
WM_MANIPULATORGROUP_INITIALIZED = (1 << 2), /* mgroup has been 
initialized */
 };
 
-
-/*  */
-/** \name wmManipulatorGroup
- *
- * \{ */
-
 /**
  * Create a new manipulator-group from \a mgrouptype.
  */
diff --git a/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h 
b/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
index cff0bca..7684b3a 100644
--- a/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
+++ b/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
@@ -55,6 +55,12 @@ struct wmManipulatorGroup *wm_manipulator_group_find(
 /*  */
 /* wmManipulatorGroup */
 
+/* wmManipulatorGroupType.flag */
+enum {
+   /* manipulator group is attached to operator, and is only accessible as 
long as this runs */
+   WM_MANIPULATORGROUPTYPE_OP = (1 << 0),
+};
+
 void MANIPULATORGROUP_OT_manipulator_select(struct wmOperatorType *ot);
 void MANIPULATORGROUP_OT_manipulator_tweak(struct wmOperatorType *ot);
 
@@ -65,7 +71,7 @@ void  wm_manipulatorgroup_attach_to_modal_handler(
 /*  */
 /* wmManipulatorMap */
 
-void wm_manipulatormap_delete(wmManipulatorMap *mmap);
+void wm_manipulatormap_delete(struct wmManipulatorMap *mmap);
 void wm_manipulatormaptypes_free(void);
 
 void wm_manipulators_keymap(struct wmKeyConfig *keyconf);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [dbe1472] temp_manipulators_core: Refactor lookups for hovered manipulator

2016-10-02 Thread Julian Eisel
Commit: dbe147257d6b82c7911d6670568ccc41913109fd
Author: Julian Eisel
Date:   Mon Oct 3 00:23:34 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rBdbe147257d6b82c7911d6670568ccc41913109fd

Refactor lookups for hovered manipulator

2D manipulators now have priority over 3D ones, think that's what you'd want 
usually. Untested code, need to merge into custom_manipulators first.

===

M   source/blender/windowmanager/intern/wm_event_system.c
M   source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
M   source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
M   source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
M   source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h

===

diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index 1fa5b22..8da107f 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2113,11 +2113,7 @@ static int wm_handlers_do_intern(bContext *C, wmEvent 
*event, ListBase *handlers
 
/* handle manipulator highlighting */
if (event->type == MOUSEMOVE && 
!wm_manipulatormap_get_active_manipulator(mmap)) {
-   /* TODO should check for both, 2D and 
3D manipulators and choose the one closest to cursor */
-   manipulator = 
wm_manipulatormap_find_highlighted_3D(mmap, C, event, );
-   if (!manipulator) {
-   manipulator = 
wm_manipulatormap_find_highlighted_manipulator(mmap, C, event, );
-   }
+   manipulator = 
wm_manipulatormap_find_highlighted_manipulator(mmap, C, event, );

wm_manipulatormap_set_highlighted_manipulator(mmap, C, manipulator, part);
}
/* handle user configurable manipulator-map 
keymap */
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h 
b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
index 52a5cb3..b830301 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
@@ -143,6 +143,11 @@ enum {
 
 struct wmManipulatorGroup *wm_manipulatorgroup_new_from_type(struct 
wmManipulatorGroupType *mgrouptype);
 void wm_manipulatorgroup_free(bContext *C, struct wmManipulatorMap *mmap, 
struct wmManipulatorGroup *mgroup);
+wmManipulator *wm_manipulatorgroup_find_intersected_mainpulator(
+const struct wmManipulatorGroup *mgroup, struct bContext *C, const 
struct wmEvent *event,
+unsigned char *part);
+void wm_manipulatorgroup_intersectable_manipulators_to_list(
+const struct wmManipulatorGroup *mgroup, struct ListBase *listbase);
 void wm_manipulatorgroup_ensure_initialized(struct wmManipulatorGroup *mgroup, 
const struct bContext *C);
 bool wm_manipulatorgroup_is_visible(const struct wmManipulatorGroup *mgroup, 
const struct bContext *C);
 
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index 3f635f8..a938e8b 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -140,6 +140,37 @@ void wm_manipulatorgroup_attach_to_modal_handler(
WM_event_add_mousemove(C);
 }
 
+wmManipulator *wm_manipulatorgroup_find_intersected_mainpulator(
+const wmManipulatorGroup *mgroup, bContext *C, const wmEvent *event,
+unsigned char *part)
+{
+   for (wmManipulator *manipulator = mgroup->manipulators.first; 
manipulator; manipulator = manipulator->next) {
+   if (manipulator->intersect && (manipulator->flag & 
WM_MANIPULATOR_HIDDEN) == 0) {
+   if ((*part = manipulator->intersect(C, event, 
manipulator))) {
+   return manipulator;
+   }
+   }
+   }
+
+   return NULL;
+}
+
+/**
+ * Adds all manipulators of \a mgroup that can be selected to the head of \a 
listbase. Added items need freeing!
+ */
+void wm_manipulatorgroup_intersectable_manipulators_to_list(const 
wmManipulatorGroup *mgroup, ListBase *listbase)
+{
+   for (wmManipulator *manipulator = mgroup->manipulators.first; 
manipulator; manipulator = manipulator->next) {
+   if ((manipulator->flag & WM_MANIPULATOR_HIDDEN) == 0) {
+   

[Bf-blender-cvs] [2e595da] temp_manipulators_core: Refactor manipulator-group flags

2016-10-02 Thread Julian Eisel
Commit: 2e595daee3fa40737f5813349a4d7e6ad27d825f
Author: Julian Eisel
Date:   Sun Oct 2 22:11:14 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rB2e595daee3fa40737f5813349a4d7e6ad27d825f

Refactor manipulator-group flags

Flags are internal now, not exposed to non-manipulator window manager code.

===

M   source/blender/makesdna/DNA_manipulator_types.h
M   source/blender/windowmanager/manipulators/WM_manipulator_types.h
M   source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
M   source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
M   source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
M   source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h

===

diff --git a/source/blender/makesdna/DNA_manipulator_types.h 
b/source/blender/makesdna/DNA_manipulator_types.h
index 9a3289b..2414573 100644
--- a/source/blender/makesdna/DNA_manipulator_types.h
+++ b/source/blender/makesdna/DNA_manipulator_types.h
@@ -43,7 +43,7 @@ typedef struct wmManipulatorGroup {
 
void *customdata;
void (*customdata_free)(void *); /* for freeing customdata from above */
-   int flag;
+   int flag; /* private */
int pad;
 } wmManipulatorGroup;
 
diff --git a/source/blender/windowmanager/manipulators/WM_manipulator_types.h 
b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
index 2a3be7d..c4cdaea 100644
--- a/source/blender/windowmanager/manipulators/WM_manipulator_types.h
+++ b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
@@ -66,6 +66,9 @@ typedef struct wmManipulatorGroupType {
/* refresh data for drawing, called before each redraw */
wmManipulatorGroupDrawPrepareFunc draw_prepare;
 
+   /* manipulator-group will be treated as 2d if this isn't set to true */
+   bool is_3d;
+
/* keymap init callback for this manipulator-group */
struct wmKeyMap *(*keymap_init)(const struct wmManipulatorGroupType *, 
struct wmKeyConfig *);
/* keymap created with callback from above */
@@ -77,8 +80,7 @@ typedef struct wmManipulatorGroupType {
/* RNA integration */
ExtensionRNA ext;
 
-   /* manipulatorTypeflags (includes copy of wmManipulatorMapType.flag - 
used for comparisons) */
-   int flag;
+   char flag;
 
/* if type is spawned from operator this is set here */
void *op;
@@ -92,7 +94,6 @@ struct wmManipulatorMapType_Params {
const char *idname;
const int spaceid;
const int regionid;
-   const int flag;
 };
 
 /**
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h 
b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
index fd44b43..52a5cb3 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
@@ -143,6 +143,8 @@ enum {
 
 struct wmManipulatorGroup *wm_manipulatorgroup_new_from_type(struct 
wmManipulatorGroupType *mgrouptype);
 void wm_manipulatorgroup_free(bContext *C, struct wmManipulatorMap *mmap, 
struct wmManipulatorGroup *mgroup);
+void wm_manipulatorgroup_ensure_initialized(struct wmManipulatorGroup *mgroup, 
const struct bContext *C);
+bool wm_manipulatorgroup_is_visible(const struct wmManipulatorGroup *mgroup, 
const struct bContext *C);
 
 void wm_manipulatorgrouptype_keymap_init(struct wmManipulatorGroupType 
*mgrouptype, struct wmKeyConfig *keyconf);
 
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index f7a8895..3f635f8 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -58,6 +58,18 @@
 #include "wm_manipulator_intern.h"
 
 
+/* wmManipulatorGroupType.flag_intern */
+enum {
+   /* manipulator group is attached to operator, and is only accessible as 
long as this runs */
+   WM_MANIPULATORGROUPTYPE_OP  = (1 << 0),
+};
+
+/* wmManipulatorGroup.flag */
+enum {
+   WM_MANIPULATORGROUP_INITIALIZED = (1 << 2), /* mgroup has been 
initialized */
+};
+
+
 /*  */
 /** \name wmManipulatorGroup
  *
@@ -128,6 +140,22 @@ void wm_manipulatorgroup_attach_to_modal_handler(
WM_event_add_mousemove(C);
 }
 
+void wm_manipulatorgroup_ensure_initialized(wmManipulatorGroup *mgroup, const 
bContext *C)
+{
+   /* prepare for first draw */
+   if (UNLIKELY((mgroup->flag & WM_MANIPULATORGROUP_INITIALIZED) == 0)) {
+   mgroup->type->init(C, mgroup);
+   mgroup->flag |= WM_MANIPULATORGROUP_INITIALIZED;
+   }
+}
+
+bool 

[Bf-blender-cvs] [3ee5ce1] master: [Windows/Cycles/Clang] Fix compilation error with clang-cl on windows

2016-10-02 Thread lazydodo
Commit: 3ee5ce155c4cc3f705038a12484351d21a71441d
Author: lazydodo
Date:   Sun Oct 2 14:01:23 2016 -0600
Branches: master
https://developer.blender.org/rB3ee5ce155c4cc3f705038a12484351d21a71441d

[Windows/Cycles/Clang] Fix compilation error with clang-cl on windows

===

M   intern/cycles/util/util_simd.h

===

diff --git a/intern/cycles/util/util_simd.h b/intern/cycles/util/util_simd.h
index 36da155..8d4d790 100644
--- a/intern/cycles/util/util_simd.h
+++ b/intern/cycles/util/util_simd.h
@@ -71,7 +71,7 @@ __forceinline operator  int  ( ) const { return 
std::numeric_limits<
 #define _lzcnt_u64 __lzcnt64
 #endif
 
-#if defined(_WIN32) && !defined(__MINGW32__)
+#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__clang__)
 
 __forceinline int __popcnt(int in) {
   return _mm_popcnt_u32(in);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [72473a6] blender2.8: Fix compile errors with Alembic.

2016-10-02 Thread Kévin Dietrich
Commit: 72473a61b0a45cf31a42927e9b86d0f26a25590d
Author: Kévin Dietrich
Date:   Sun Oct 2 20:52:25 2016 +0200
Branches: blender2.8
https://developer.blender.org/rB72473a61b0a45cf31a42927e9b86d0f26a25590d

Fix compile errors with Alembic.

===

M   source/blender/alembic/intern/abc_hair.cc
M   source/blender/alembic/intern/abc_points.cc

===

diff --git a/source/blender/alembic/intern/abc_hair.cc 
b/source/blender/alembic/intern/abc_hair.cc
index 5a95944..f10cfba 100644
--- a/source/blender/alembic/intern/abc_hair.cc
+++ b/source/blender/alembic/intern/abc_hair.cc
@@ -58,8 +58,10 @@ AbcHairWriter::AbcHairWriter(Scene *scene,
 {
m_psys = NULL; // = psys;
 
+#if 0
OCurves curves(parent->alembicXform(), psys->name, m_time_sampling);
m_schema = curves.getSchema();
+#endif
 }
 
 void AbcHairWriter::do_write()
diff --git a/source/blender/alembic/intern/abc_points.cc 
b/source/blender/alembic/intern/abc_points.cc
index 8b71123..bf9c483 100644
--- a/source/blender/alembic/intern/abc_points.cc
+++ b/source/blender/alembic/intern/abc_points.cc
@@ -66,8 +66,10 @@ AbcPointsWriter::AbcPointsWriter(Scene *scene,
 {
m_psys = NULL; // = psys;
 
+#if 0
OPoints points(parent->alembicXform(), psys->name, m_time_sampling);
m_schema = points.getSchema();
+#endif
 }
 
 void AbcPointsWriter::do_write()

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c50ccc8] blender2.8: Merge branch 'master' into blender2.8

2016-10-02 Thread Bastien Montagne
Commit: c50ccc847613bbe02bea64cee3f744b449da170c
Author: Bastien Montagne
Date:   Sun Oct 2 18:53:01 2016 +0200
Branches: blender2.8
https://developer.blender.org/rBc50ccc847613bbe02bea64cee3f744b449da170c

Merge branch 'master' into blender2.8

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [63f90d1] fracture_modifier: dynamic fracture, crash fix for autohide

2016-10-02 Thread Martin Felke
Commit: 63f90d1099131cd9698ffd256e754bf4ac157774
Author: Martin Felke
Date:   Sun Oct 2 18:23:13 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rB63f90d1099131cd9698ffd256e754bf4ac157774

dynamic fracture, crash fix for autohide

===

M   source/blender/modifiers/intern/MOD_fracture.c

===

diff --git a/source/blender/modifiers/intern/MOD_fracture.c 
b/source/blender/modifiers/intern/MOD_fracture.c
index 4bc8e7a..c6c3281 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -2945,6 +2945,10 @@ static void find_other_face(FractureModifierData *fmd, 
int i, BMesh* bm, Object*
return;
}
 
+   if (other >= bm->totface) {
+   return;
+   }
+
f1 = BM_face_at_index(bm, i);
f2 = BM_face_at_index(bm, other);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [030bb2f] fracture_modifier: 8% faster fluidbaking with gcc and 30% faster with clang

2016-10-02 Thread Jens Verwiebe
Commit: 030bb2f7e0d3828c6efc8dfade51d3d077981436
Author: Jens Verwiebe
Date:   Sun Oct 2 17:58:40 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rB030bb2f7e0d3828c6efc8dfade51d3d077981436

8% faster fluidbaking with gcc and 30% faster with clang

===

M   intern/elbeem/intern/solver_class.h
M   intern/elbeem/intern/solver_main.cpp

===

diff --git a/intern/elbeem/intern/solver_class.h 
b/intern/elbeem/intern/solver_class.h
index 593fea1..2b2e214 100644
--- a/intern/elbeem/intern/solver_class.h
+++ b/intern/elbeem/intern/solver_class.h
@@ -332,7 +332,7 @@ class LbmFsgrSolver :
void debugMarkCellCall(int level, int vi,int vj,int vk);

// loop over grid, stream update
-   void mainLoop(int lev);
+   void mainLoop(const int lev);
// change time step size
void adaptTimestep();
//! init mObjectSpeeds for current parametrization
diff --git a/intern/elbeem/intern/solver_main.cpp 
b/intern/elbeem/intern/solver_main.cpp
index 55a8d3e..34bd72e 100644
--- a/intern/elbeem/intern/solver_main.cpp
+++ b/intern/elbeem/intern/solver_main.cpp
@@ -355,7 +355,7 @@ void LbmFsgrSolver::fineAdvance()
 //! fine step function
 /*/
 void 
-LbmFsgrSolver::mainLoop(int lev)
+LbmFsgrSolver::mainLoop(const int lev)
 {
// loops over _only inner_ cells  
---

@@ -376,13 +376,16 @@ LbmFsgrSolver::mainLoop(int lev)
   // main loop region
const bool doReduce = true;
const int gridLoopBound=1;
+   const int gDebugLevel = ::gDebugLevel;
+   int calcNumInvIfCells = 0;
+   LbmFloat calcInitialMass = 0;
GRID_REGION_INIT();
 #if PARALLEL==1
-#pragma omp parallel default(shared) num_threads(mNumOMPThreads) \
+#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
   reduction(+: \
  calcCurrentMass,calcCurrentVolume, \
calcCellsFilled,calcCellsEmptied, \
-   calcNumUsedCells )
+   calcNumUsedCells,calcNumInvIfCells,calcInitialMass)
GRID_REGION_START();
 #else // PARALLEL==1
GRID_REGION_START();
@@ -468,7 +471,7 @@ LbmFsgrSolver::mainLoop(int lev)
calcCurrentMass += iniRho; 
calcCurrentVolume += 1.0; 
calcNumUsedCells++;
-   mInitialMass += iniRho;
+   calcInitialMass += iniRho;
// dont treat cell until next step
continue;
} 
@@ -479,7 +482,7 @@ LbmFsgrSolver::mainLoop(int lev)
if(isnotValid) {
// remove fluid cells, shouldnt be here anyway
LbmFloat fluidRho = m[0]; FORDF1 { fluidRho += 
m[l]; }
-   mInitialMass -= fluidRho;
+   calcInitialMass -= fluidRho;
const LbmFloat iniRho = 0.0;
RAC(tcel, dMass) = RAC(tcel, dFfrac) = iniRho;
RAC(tcel, dFlux) = FLUX_INIT;
@@ -608,8 +611,8 @@ LbmFsgrSolver::mainLoop(int lev)
// read distribution funtions of adjacent cells = stream step
DEFAULT_STREAM;
 
-   if((nbored & CFFluid)==0) { newFlag |= CFNoNbFluid; 
mNumInvIfCells++; }
-   if((nbored & CFEmpty)==0) { newFlag |= CFNoNbEmpty; 
mNumInvIfCells++; }
+   if((nbored & CFFluid)==0) { newFlag |= CFNoNbFluid; 
calcNumInvIfCells++; }
+   if((nbored & CFEmpty)==0) { newFlag |= CFNoNbEmpty; 
calcNumInvIfCells++; }
 
// calculate mass exchange for interface cells 
LbmFloat myfrac = RAC(ccel,dFfrac);
@@ -809,7 +812,7 @@ LbmFsgrSolver::mainLoop(int lev)
// fill if cells in inflow region
if(myfrac<0.5) { 
mass += 0.25; 
-   mInitialMass += 0.25;
+   calcInitialMass += 0.25;
}
const int OId = oldFlag>>24;
const LbmVec vel(mObjectSpeeds[OId]);
@@ -1013,7 +1016,7 @@ LbmFsgrSolver::mainLoop(int lev)
if( (mass) <= (rho * (   -FSGR_MAGICNR)) ) { ifemptied = 1; }
 
if(oldFlag & (CFMbndOutflow)) {
-   mInitialMass -= mass;
+   calcInitialMass -= mass;
mass = myfrac = 0.0;
iffilled = 0; ifemptied = 1;
}
@@ 

[Bf-blender-cvs] [ed54923] fracture_modifier: attempt to keep shards not affected by fracture kinematic if the object is kinematic / triggered

2016-10-02 Thread Martin Felke
Commit: ed549237687c296f83b1aaf986c47bbe0051de39
Author: Martin Felke
Date:   Sun Oct 2 13:51:47 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rBed549237687c296f83b1aaf986c47bbe0051de39

attempt to keep shards not affected by fracture kinematic if the object is 
kinematic / triggered

===

M   source/blender/modifiers/intern/MOD_fracture.c

===

diff --git a/source/blender/modifiers/intern/MOD_fracture.c 
b/source/blender/modifiers/intern/MOD_fracture.c
index c67df79..4bc8e7a 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -1197,7 +1197,7 @@ static FracPointCloud 
get_points_global(FractureModifierData *emd, Object *ob, D
//sub_v3_v3(loc, cent);
//sub_v3_v3(loc, s->centroid);
 
-   mul_v3_v3fl(size, s->impact_size, 0.75f);
+   mul_v3_v3fl(size, s->impact_size, 1.25f);
sub_v3_v3v3(nmin, loc, size);
add_v3_v3v3(nmax, loc, size);
 
@@ -3366,14 +3366,15 @@ static void do_island_from_shard(FractureModifierData 
*fmd, Object *ob, Shard* s
copy_v3_v3(mi->rigidbody->lin_vel, 
par->rigidbody->lin_vel);
copy_v3_v3(mi->rigidbody->ang_vel, 
par->rigidbody->ang_vel);
mi->rigidbody->flag = par->rigidbody->flag;
+
+   //keep 1st level shards kinematic if parent is triggered
+   if (par->id == 0 && (par->rigidbody->flag & 
RBO_FLAG_USE_KINEMATIC_DEACTIVATION) && fmd->limit_impact) {
+   mi->rigidbody->flag |= RBO_FLAG_KINEMATIC;
+   mi->rigidbody->flag |= RBO_FLAG_NEEDS_VALIDATE;
+   }
}
 
mi->rigidbody->meshisland_index = mi->id;
-
-   /*if (fmd->limit_impact)
-   {
-   set_rigidbody_type(fmd, s, mi);
-   }*/
}
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c8b4ef2] asset-engine: Merge branch 'master' into asset-engine

2016-10-02 Thread Bastien Montagne
Commit: c8b4ef2a59d4cb7ccc527df7142a68a74a244fd6
Author: Bastien Montagne
Date:   Fri Sep 30 16:00:02 2016 +0200
Branches: asset-engine
https://developer.blender.org/rBc8b4ef2a59d4cb7ccc527df7142a68a74a244fd6

Merge branch 'master' into asset-engine

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs