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

2018-08-14 Thread Campbell Barton
Commit: f7c1716b6cb79d0e4f31b3b449d0c565970db7e7
Author: Campbell Barton
Date:   Wed Aug 15 15:55:14 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBf7c1716b6cb79d0e4f31b3b449d0c565970db7e7

Merge branch 'master' into blender2.8

Fixes enum-flags having no text w/ property-split

===



===



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


[Bf-blender-cvs] [c3e3ccd42cc] master: Cleanup: set expand variable for all enum-flags

2018-08-14 Thread Campbell Barton
Commit: c3e3ccd42ccfcb6725f4d2d3b96afbf6339304a6
Author: Campbell Barton
Date:   Wed Aug 15 15:48:20 2018 +1000
Branches: master
https://developer.blender.org/rBc3e3ccd42ccfcb6725f4d2d3b96afbf6339304a6

Cleanup: set expand variable for all enum-flags

No functional change, needed for fix in 2.8x

===

M   source/blender/editors/interface/interface_layout.c

===

diff --git a/source/blender/editors/interface/interface_layout.c 
b/source/blender/editors/interface/interface_layout.c
index e830d70e308..5fc2dd09203 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -1438,6 +1438,10 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, 
PropertyRNA *prop, int index
}
}
 
+   if ((type == PROP_ENUM) && (RNA_property_flag(prop) & PROP_ENUM_FLAG)) {
+   flag |= UI_ITEM_R_EXPAND;
+   }
+
slider = (flag & UI_ITEM_R_SLIDER) != 0;
toggle = (flag & UI_ITEM_R_TOGGLE) != 0;
expand = (flag & UI_ITEM_R_EXPAND) != 0;
@@ -1463,8 +1467,9 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, 
PropertyRNA *prop, int index
uiDefButR_prop(block, UI_BTYPE_ROW, 0, name, 0, 0, w, 
h, ptr, prop, -1, 0, value, -1, -1, NULL);
}
/* expanded enum */
-   else if (type == PROP_ENUM && (expand || RNA_property_flag(prop) & 
PROP_ENUM_FLAG))
+   else if (type == PROP_ENUM && expand) {
ui_item_enum_expand(layout, block, ptr, prop, name, h, 
icon_only);
+   }
/* property with separate label */
else if (type == PROP_ENUM || type == PROP_STRING || type == 
PROP_POINTER) {
but = ui_item_with_label(layout, block, name, icon, ptr, prop, 
index, 0, 0, w, h, flag);

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


[Bf-blender-cvs] [4f1c1bbe7ab] blender2.8: Icons: geometry now checks quantized area

2018-08-14 Thread Campbell Barton
Commit: 4f1c1bbe7ab0846879de7e6499738d9778265a1f
Author: Campbell Barton
Date:   Wed Aug 15 13:13:45 2018 +1000
Branches: blender2.8
https://developer.blender.org/rB4f1c1bbe7ab0846879de7e6499738d9778265a1f

Icons: geometry now checks quantized area

Previously back-facing normal was checked which isn't ideal
because a triangle that starts out zero-area may become
visible once it's coordinates are quantized.

===

M   release/datafiles/blender_icons_geom.py

===

diff --git a/release/datafiles/blender_icons_geom.py 
b/release/datafiles/blender_icons_geom.py
index bb7a6568767..f3af7f997c1 100644
--- a/release/datafiles/blender_icons_geom.py
+++ b/release/datafiles/blender_icons_geom.py
@@ -43,6 +43,11 @@ the ``.dat`` file extension should be used.
 # This script writes out geometry-icons.
 import bpy
 
+# Generic functions
+
+def area_tri_signed_2x_v2(v1, v2, v3):
+   return (v1[0] - v2[0]) * (v2[1] - v3[1]) + (v1[1] - v2[1]) * (v3[0] - 
v2[0])
+
 
 class TriMesh:
 """
@@ -116,10 +121,7 @@ def mesh_data_lists_from_mesh(me, material_colors):
 tris_data = []
 
 for p in me_polys:
-# Backface culling (allows using spheres without tedious manual 
deleting).
-if p.normal.z <= 0.0:
-continue
-
+# Note, all faces are handled, backfacing/zero area is checked just 
before writing.
 material_index = p.material_index
 if material_index < len(material_colors):
 base_color = material_colors[p.material_index]
@@ -179,7 +181,7 @@ def mesh_data_lists_from_objects(ob_parent, ob_children):
 for ob in (ob_parent, *ob_children):
 with TriMesh(ob) as me:
 if has_parent:
-me.transform(parent_matrix_inverted * ob.matrix_world)
+me.transform(parent_matrix_inverted @ ob.matrix_world)
 
 tris_data.extend(
 mesh_data_lists_from_mesh(
@@ -243,10 +245,18 @@ def write_mesh_to_py(fh, ob, ob_children):
 # X, Y
 fw(bytes((0, 0)))
 
-for (_, tri_coords, _) in tris_data:
-for vert in tri_coords:
-fw(bytes(vert_as_byte_pair(vert)))
-for (_, _, tri_color) in tris_data:
+# Once converted into bytes, the triangle might become zero area
+tri_skip = [False] * len(tris_data)
+for i, (_, tri_coords, _) in enumerate(tris_data):
+tri_coords_as_byte = [vert_as_byte_pair(vert) for vert in tri_coords]
+if area_tri_signed_2x_v2(*tri_coords_as_byte) <= 0:
+tri_skip[i] = True
+continue
+for vert_byte in tri_coords_as_byte:
+fw(bytes(vert_byte))
+for i, (_, _, tri_color) in enumerate(tris_data):
+if tri_skip[i]:
+continue
 for color in tri_color:
 fw(bytes(color))

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


[Bf-blender-cvs] [054af691c09] blender2.8: Icons: regenerate from 'icons_geom.blend'

2018-08-14 Thread Campbell Barton
Commit: 054af691c09ac083b6bb77a7635e34ed76324d0e
Author: Campbell Barton
Date:   Wed Aug 15 13:21:07 2018 +1000
Branches: blender2.8
https://developer.blender.org/rB054af691c09ac083b6bb77a7635e34ed76324d0e

Icons: regenerate from 'icons_geom.blend'

Regenerating all to remove zero area triangles.

Previously icons included files not committed to lib/.
This is the output of 'make icons_geom' for svn rev: 62081.

===

M   release/datafiles/icons/brush.gpencil.draw.eraser_hard.dat
M   release/datafiles/icons/brush.gpencil.draw.eraser_soft.dat
M   release/datafiles/icons/brush.gpencil.draw.eraser_stroke.dat
M   release/datafiles/icons/brush.gpencil.draw_block.dat
M   release/datafiles/icons/brush.gpencil.draw_fill.dat
M   release/datafiles/icons/brush.gpencil.draw_ink.dat
M   release/datafiles/icons/brush.gpencil.draw_marker.dat
M   release/datafiles/icons/brush.gpencil.draw_noise.dat
M   release/datafiles/icons/brush.gpencil.draw_pen.dat
M   release/datafiles/icons/brush.gpencil.draw_pencil.dat
M   release/datafiles/icons/brush.paint_texture.airbrush.dat
M   release/datafiles/icons/brush.paint_texture.clone.dat
M   release/datafiles/icons/brush.paint_texture.draw.dat
M   release/datafiles/icons/brush.paint_texture.fill.dat
M   release/datafiles/icons/brush.paint_texture.mask.dat
M   release/datafiles/icons/brush.paint_texture.multiply.dat
M   release/datafiles/icons/brush.paint_texture.smear.dat
M   release/datafiles/icons/brush.paint_texture.soften.dat
M   release/datafiles/icons/brush.paint_vertex.alpha.dat
M   release/datafiles/icons/brush.paint_vertex.blur.dat
M   release/datafiles/icons/brush.paint_vertex.mix.dat
M   release/datafiles/icons/brush.paint_vertex.smear.dat
M   release/datafiles/icons/brush.paint_weight.blur.dat
M   release/datafiles/icons/brush.paint_weight.darken.dat
M   release/datafiles/icons/brush.paint_weight.draw.dat
M   release/datafiles/icons/brush.paint_weight.lighten.dat
M   release/datafiles/icons/brush.paint_weight.mix.dat
M   release/datafiles/icons/brush.paint_weight.multiply.dat
M   release/datafiles/icons/brush.particle.puff.dat
M   release/datafiles/icons/brush.sculpt.blob.dat
M   release/datafiles/icons/brush.sculpt.clay.dat
M   release/datafiles/icons/brush.sculpt.clay_strips.dat
M   release/datafiles/icons/brush.sculpt.crease.dat
M   release/datafiles/icons/brush.sculpt.draw.dat
M   release/datafiles/icons/brush.sculpt.fill.dat
M   release/datafiles/icons/brush.sculpt.flatten.dat
M   release/datafiles/icons/brush.sculpt.grab.dat
M   release/datafiles/icons/brush.sculpt.inflate.dat
M   release/datafiles/icons/brush.sculpt.layer.dat
M   release/datafiles/icons/brush.sculpt.mask.dat
M   release/datafiles/icons/brush.sculpt.nudge.dat
M   release/datafiles/icons/brush.sculpt.pinch.dat
M   release/datafiles/icons/brush.sculpt.rotate.dat
M   release/datafiles/icons/brush.sculpt.scrape.dat
M   release/datafiles/icons/brush.sculpt.smooth.dat
M   release/datafiles/icons/brush.sculpt.snake_hook.dat
M   release/datafiles/icons/brush.sculpt.thumb.dat
M   release/datafiles/icons/brush.vertex.average.dat
M   release/datafiles/icons/brush.weight.add.dat
M   release/datafiles/icons/brush.weight.subtract.dat
M   release/datafiles/icons/none.dat
M   release/datafiles/icons/ops.armature.bone.roll.dat
M   release/datafiles/icons/ops.armature.extrude.cursor.dat
M   release/datafiles/icons/ops.armature.extrude.dat
M   release/datafiles/icons/ops.generic.select_border.dat
M   release/datafiles/icons/ops.generic.select_circle.dat
M   release/datafiles/icons/ops.generic.select_lasso.dat
M   release/datafiles/icons/ops.gpencil.draw.dat
M   release/datafiles/icons/ops.gpencil.draw.eraser.dat
M   release/datafiles/icons/ops.gpencil.draw.line.dat
M   release/datafiles/icons/ops.gpencil.draw.poly.dat
M   release/datafiles/icons/ops.gpencil.edit_bend.dat
M   release/datafiles/icons/ops.gpencil.edit_to_sphere.dat
M   release/datafiles/icons/ops.gpencil.sculpt_clone.dat
M   release/datafiles/icons/ops.gpencil.sculpt_grab.dat
M   release/datafiles/icons/ops.gpencil.sculpt_pinch.dat
M   release/datafiles/icons/ops.gpencil.sculpt_push.dat
M   release/datafiles/icons/ops.gpencil.sculpt_randomize.dat
M   release/datafiles/icons/ops.gpencil.sculpt_smooth.dat
M   release/datafiles/icons/ops.gpencil.sculpt_strength.dat
M   release/datafiles/icons/ops.gpencil.sculpt_weight.dat
M   release/datafiles/icons/ops.mesh.bevel.dat
M   release/datafiles/icons/ops.mesh.bisect.dat
M   release/datafiles/icons/ops.mesh.dupli_extrude_cursor.dat
M   release/datafiles/icons/ops.mesh.extrude_faces_move.dat
M   release/datafiles/icons/ops.mesh.extrude_region_move.dat
M  

[Bf-blender-cvs] [289a8a59c8d] temp-fracture-modifier-2.8: complete rewrite of ugly code pieces, work in progress

2018-08-14 Thread Martin Felke
Commit: 289a8a59c8d3edd67d1b326b2f327a09ff471617
Author: Martin Felke
Date:   Tue Aug 14 23:21:44 2018 +0200
Branches: temp-fracture-modifier-2.8
https://developer.blender.org/rB289a8a59c8d3edd67d1b326b2f327a09ff471617

complete rewrite of ugly code pieces, work in progress

===

M   source/blender/blenkernel/BKE_fracture.h
M   source/blender/blenkernel/BKE_fracture_util.h
M   source/blender/blenkernel/intern/fracture.c
M   source/blender/blenkernel/intern/fracture_automerge.c
M   source/blender/blenkernel/intern/fracture_prefractured.c
M   source/blender/blenkernel/intern/fracture_util.c
M   source/blender/makesdna/DNA_fracture_types.h

===

diff --git a/source/blender/blenkernel/BKE_fracture.h 
b/source/blender/blenkernel/BKE_fracture.h
index 1a9453be3d7..899ebe7d4e9 100644
--- a/source/blender/blenkernel/BKE_fracture.h
+++ b/source/blender/blenkernel/BKE_fracture.h
@@ -204,7 +204,7 @@ void BKE_fracture_dynamic_free(struct FractureModifierData 
*fmd, struct Scene *s
 void BKE_fracture_external_constraints_setup(struct FractureModifierData *fmd, 
struct Scene *scene, struct Object *ob);
 void BKE_fracture_dynamic_new_entries_add(struct FractureModifierData* fmd, 
struct Scene *scene, bool is_new);
 
-struct Mesh* BKE_fracture_apply(struct FractureModifierData *fmd, struct 
Object *ob, struct Mesh *me, struct Depsgraph* depsgraph);
+struct Mesh* BKE_fracture_apply(struct FractureModifierData *fmd, struct 
Object *obj, struct Mesh *me, struct Depsgraph* depsgraph);
 
 struct MeshIsland *BKE_fracture_mesh_island_create(struct Mesh* me, struct 
Main* bmain, struct Scene *scene, struct Object *ob);
 void BKE_fracture_mesh_boundbox_calc(struct Mesh *me, float r_loc[], float 
r_size[]);
diff --git a/source/blender/blenkernel/BKE_fracture_util.h 
b/source/blender/blenkernel/BKE_fracture_util.h
index 96625022509..0cefbb54363 100644
--- a/source/blender/blenkernel/BKE_fracture_util.h
+++ b/source/blender/blenkernel/BKE_fracture_util.h
@@ -35,12 +35,41 @@
 
 #include "DNA_fracture_types.h"
 
-MeshIsland *BKE_fracture_shard_boolean(Object *obj, MeshIsland *dm_parent, 
MeshIsland *child, short inner_material_index, int num_cuts, float fractal,
-  MeshIsland **other, float mat[4][4], float 
radius, bool use_smooth_inner, int num_levels, char uv_layer[],
-  float thresh);
+typedef struct BisectContext {
+   bool clear_inner;
+   bool clear_outer;
+   bool use_fill;
+   bool do_fast_bisect;
 
-MeshIsland *BKE_fracture_mesh_bisect(MeshIsland *parent, MeshIsland *child, 
float obmat[4][4], bool use_fill, bool clear_inner,
-   bool 
clear_outer, int cutlimit, float centroid[3], short inner_mat_index, char 
uv_layer[64],
-   struct KDTree 
*preselect_tree, float normal[3]);
+   char uv_layer[64];
+   float normal[3];
+   float centroid[3];
+   float obmat[4][4];
+   short inner_mat_index;
+   struct KDTree *geometry_limitation_tree;
+
+} BisectContext;
+
+typedef struct BooleanContext {
+   short inner_material_index;
+   int operation; /*0 == intersection, 2 == difference*/
+
+   //fractal stuff
+   bool use_fractal;
+   bool use_smooth_inner;
+   int num_cuts;
+   int num_iterations;
+   float fractal_amount;
+   float cutter_plane_matrix[4][4];
+   float cutter_plane_radius;
+
+   char uv_layer[64];
+   float thresh;
+} BooleanContext;
+
+Mesh* BKE_fracture_mesh_boolean(Mesh* geometry, Mesh* shard, Object* obj, 
BooleanContext *ctx);
+Mesh* BKE_fracture_mesh_bisect(Mesh* geometry, Mesh* raw_shard, BisectContext* 
ctx);
+void BKE_fracture_mesh_boolean_fractal(Mesh* geometry, Mesh **outputA, Mesh** 
outputB, Object *obj, BooleanContext *ctx);
+void BKE_fracture_mesh_bisect_fast(Mesh* geometry, Mesh **outputA, Mesh** 
outputB, BisectContext *ctx);
 
 #endif /* BKE_FRACTURE_UTIL_H*/
diff --git a/source/blender/blenkernel/intern/fracture.c 
b/source/blender/blenkernel/intern/fracture.c
index d50440ee4e9..26521f59852 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -102,31 +102,21 @@ static void do_island_index_map(FractureModifierData 
*fmd, Object *ob);
 static void do_rigidbody(Main* bmain, Scene* scene, MeshIsland* mi, Object* 
ob, short rb_type, int i);
 
 
-static void fracture_meshisland_add(FractureModifierData *fmd, MeshIsland *mi, 
float mat[4][4],
-   Object* ob, Scene *scene)
+static void fracture_meshisland_add(FractureModifierData *fmd, MeshIsland *mi,
+Object* ob, Scene *scene, Main *bmain)
 {
MVert *mv;
-   int i = 0;
-   //float imat[4][4];

[Bf-blender-cvs] [a9700e7ad27] master: Fix T56359: Unitialized variable in Cycles OpenCL could cause crashes.

2018-08-14 Thread Stefan Werner
Commit: a9700e7ad276a82d7109c5ddf6deb490371429f0
Author: Stefan Werner
Date:   Tue Aug 14 22:51:53 2018 +0200
Branches: master
https://developer.blender.org/rBa9700e7ad276a82d7109c5ddf6deb490371429f0

Fix T56359: Unitialized variable in Cycles OpenCL could cause crashes.

===

M   intern/cycles/device/opencl/opencl.h

===

diff --git a/intern/cycles/device/opencl/opencl.h 
b/intern/cycles/device/opencl/opencl.h
index d0571fc3c14..6c73d10a376 100644
--- a/intern/cycles/device/opencl/opencl.h
+++ b/intern/cycles/device/opencl/opencl.h
@@ -271,7 +271,7 @@ public:
 
class OpenCLProgram {
public:
-   OpenCLProgram() : loaded(false), device(NULL) {}
+   OpenCLProgram() : loaded(false), program(NULL), device(NULL) {}
OpenCLProgram(OpenCLDeviceBase *device,
  const string& program_name,
  const string& kernel_name,

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


[Bf-blender-cvs] [4a3348cfe04] blender2.8: GPUShader: Remove some of the unused shaders

2018-08-14 Thread Clément Foucault
Commit: 4a3348cfe049620b9f8bcf421562ff8264bc79fa
Author: Clément Foucault
Date:   Tue Aug 14 21:37:31 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB4a3348cfe049620b9f8bcf421562ff8264bc79fa

GPUShader: Remove some of the unused shaders

keeping GPU_SHADER_SMOKE until other occurences are removed.

===

M   source/blender/gpu/CMakeLists.txt
M   source/blender/gpu/GPU_shader.h
M   source/blender/gpu/intern/gpu_codegen.c
M   source/blender/gpu/intern/gpu_shader.c
D   source/blender/gpu/shaders/gpu_shader_fx_depth_resolve.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_dof_hq_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_dof_hq_geo.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_dof_hq_vert.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_lib.glsl
D   source/blender/gpu/shaders/gpu_shader_fx_ssao_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_vert.glsl
D   source/blender/gpu/shaders/gpu_shader_vertex.glsl
D   source/blender/gpu/shaders/gpu_shader_vertex_world.glsl
D   source/blender/gpu/shaders/gpu_shader_vsm_store_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_vsm_store_vert.glsl

===

diff --git a/source/blender/gpu/CMakeLists.txt 
b/source/blender/gpu/CMakeLists.txt
index 938c074920c..1765be552e5 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -87,20 +87,7 @@ set(SRC
intern/gpu_vertex_format.c
intern/gpu_viewport.c
 
-   shaders/gpu_shader_fx_lib.glsl
-   shaders/gpu_shader_fx_ssao_frag.glsl
-   shaders/gpu_shader_fx_dof_frag.glsl
-   shaders/gpu_shader_fx_dof_vert.glsl
-   shaders/gpu_shader_fx_dof_hq_frag.glsl
-   shaders/gpu_shader_fx_dof_hq_vert.glsl
-   shaders/gpu_shader_fx_dof_hq_geo.glsl
shaders/gpu_shader_material.glsl
-   shaders/gpu_shader_sep_gaussian_blur_frag.glsl
-   shaders/gpu_shader_sep_gaussian_blur_vert.glsl
-   shaders/gpu_shader_vertex.glsl
-   shaders/gpu_shader_vsm_store_frag.glsl
-   shaders/gpu_shader_vsm_store_vert.glsl
-   shaders/gpu_shader_fx_depth_resolve.glsl
shaders/gpu_shader_fire_frag.glsl
shaders/gpu_shader_smoke_frag.glsl
shaders/gpu_shader_smoke_vert.glsl
@@ -245,12 +232,6 @@ data_to_c_simple(shaders/gpu_shader_fire_frag.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_smoke_frag.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_smoke_vert.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_material.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_frag.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_vertex.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_vertex_world.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_vsm_store_frag.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_vsm_store_vert.glsl SRC)
 
 data_to_c_simple(shaders/gpu_shader_gpencil_stroke_vert.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_gpencil_stroke_frag.glsl SRC)
diff --git a/source/blender/gpu/GPU_shader.h b/source/blender/gpu/GPU_shader.h
index ec5ffc0f354..d761ffc6a6d 100644
--- a/source/blender/gpu/GPU_shader.h
+++ b/source/blender/gpu/GPU_shader.h
@@ -107,8 +107,7 @@ int GPU_shader_get_attribute(GPUShader *shader, const char 
*name);
 
 /* Builtin/Non-generated shaders */
 typedef enum GPUBuiltinShader {
-   GPU_SHADER_VSM_STORE,
-   GPU_SHADER_SEP_GAUSSIAN_BLUR,
+   /* UNUSED (TODO REMOVE) */
GPU_SHADER_SMOKE,
GPU_SHADER_SMOKE_FIRE,
GPU_SHADER_SMOKE_COBA,
diff --git a/source/blender/gpu/intern/gpu_codegen.c 
b/source/blender/gpu/intern/gpu_codegen.c
index 0cda67b8968..98f9e22cbc1 100644
--- a/source/blender/gpu/intern/gpu_codegen.c
+++ b/source/blender/gpu/intern/gpu_codegen.c
@@ -63,8 +63,6 @@
 #include 
 
 extern char datatoc_gpu_shader_material_glsl[];
-extern char datatoc_gpu_shader_vertex_glsl[];
-extern char datatoc_gpu_shader_vertex_world_glsl[];
 extern char datatoc_gpu_shader_geometry_glsl[];
 
 static char *glsl_material_library = NULL;
diff --git a/source/blender/gpu/intern/gpu_shader.c 
b/source/blender/gpu/intern/gpu_shader.c
index 427a3fd233e..62e6427a738 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -158,10 +158,6 @@ extern char 
datatoc_gpu_shader_keyframe_diamond_frag_glsl[];
 extern char datatoc_gpu_shader_fire_frag_glsl[];
 extern char datatoc_gpu_shader_smoke_vert_glsl[];
 extern char datatoc_gpu_shader_smoke_frag_glsl[];
-extern char datatoc_gpu_shader_vsm_store_vert_glsl[];
-extern char datatoc_gpu_shader_vsm_store_frag_glsl[];
-extern 

[Bf-blender-cvs] [485b8d41be6] blender2.8: Workbench: Add support for the xray object option

2018-08-14 Thread Clément Foucault
Commit: 485b8d41be603624fb1777495ec9d02bab4d
Author: Clément Foucault
Date:   Tue Aug 14 20:26:21 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB485b8d41be603624fb1777495ec9d02bab4d

Workbench: Add support for the xray object option

Xray object can be see through other objects. They cast shadows as well
but cannot receive then.

===

M   source/blender/draw/CMakeLists.txt
A   
source/blender/draw/engines/workbench/shaders/workbench_ghost_resolve_frag.glsl
M   source/blender/draw/engines/workbench/workbench_deferred.c
M   source/blender/draw/engines/workbench/workbench_forward.c
M   source/blender/draw/engines/workbench/workbench_materials.c
M   source/blender/draw/engines/workbench/workbench_private.h

===

diff --git a/source/blender/draw/CMakeLists.txt 
b/source/blender/draw/CMakeLists.txt
index d672645dea0..916688cadc3 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -227,6 +227,7 @@ 
data_to_c_simple(engines/workbench/shaders/workbench_effect_taa_frag.glsl SRC)
 
data_to_c_simple(engines/workbench/shaders/workbench_forward_composite_frag.glsl
 SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_forward_depth_frag.glsl 
SRC)
 
data_to_c_simple(engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
 SRC)
+data_to_c_simple(engines/workbench/shaders/workbench_ghost_resolve_frag.glsl 
SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_object_outline_lib.glsl 
SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_prepass_vert.glsl SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_prepass_frag.glsl SRC)
diff --git 
a/source/blender/draw/engines/workbench/shaders/workbench_ghost_resolve_frag.glsl
 
b/source/blender/draw/engines/workbench/shaders/workbench_ghost_resolve_frag.glsl
new file mode 100644
index 000..59f2df11086
--- /dev/null
+++ 
b/source/blender/draw/engines/workbench/shaders/workbench_ghost_resolve_frag.glsl
@@ -0,0 +1,13 @@
+uniform sampler2D depthBuffer;
+
+void main(void)
+{
+   float depth = texelFetch(depthBuffer, ivec2(gl_FragCoord.xy), 0).r;
+
+   /* background, discard */
+   if (depth >= 1.0) {
+   discard;
+   }
+
+   gl_FragDepth = depth;
+}
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c 
b/source/blender/draw/engines/workbench/workbench_deferred.c
index 23fbbe56c16..889aeb0257b 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -60,6 +60,7 @@ static struct {
struct GPUShader *prepass_sh_cache[MAX_SHADERS];
struct GPUShader *composite_sh_cache[MAX_SHADERS];
struct GPUShader *cavity_sh;
+   struct GPUShader *ghost_resolve_sh;
struct GPUShader *shadow_fail_sh;
struct GPUShader *shadow_fail_manifold_sh;
struct GPUShader *shadow_pass_sh;
@@ -67,6 +68,7 @@ static struct {
struct GPUShader *shadow_caps_sh;
struct GPUShader *shadow_caps_manifold_sh;
 
+   struct GPUTexture *ghost_depth_tx; /* ref only, not alloced */
struct GPUTexture *object_id_tx; /* ref only, not alloced */
struct GPUTexture *color_buffer_tx; /* ref only, not alloced */
struct GPUTexture *cavity_buffer_tx; /* ref only, not alloced */
@@ -90,6 +92,7 @@ extern char datatoc_workbench_prepass_vert_glsl[];
 extern char datatoc_workbench_prepass_frag_glsl[];
 extern char datatoc_workbench_cavity_frag_glsl[];
 extern char datatoc_workbench_deferred_composite_frag_glsl[];
+extern char datatoc_workbench_ghost_resolve_frag_glsl[];
 
 extern char datatoc_workbench_shadow_vert_glsl[];
 extern char datatoc_workbench_shadow_geom_glsl[];
@@ -332,6 +335,8 @@ void workbench_deferred_engine_init(WORKBENCH_Data *vedata)
char *cavity_frag = workbench_build_cavity_frag();
e_data.cavity_sh = DRW_shader_create_fullscreen(cavity_frag, 
NULL);
MEM_freeN(cavity_frag);
+
+   e_data.ghost_resolve_sh = 
DRW_shader_create_fullscreen(datatoc_workbench_ghost_resolve_frag_glsl, NULL);
}
workbench_volume_engine_init();
workbench_fxaa_engine_init();
@@ -408,11 +413,20 @@ void workbench_deferred_engine_init(WORKBENCH_Data 
*vedata)
 
/* Prepass */
{
+   DRWShadingGroup *grp;
const bool do_cull = (draw_ctx->v3d && (draw_ctx->v3d->flag2 & 
V3D_BACKFACE_CULLING));
 
int state = DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | 
DRW_STATE_DEPTH_LESS_EQUAL;
psl->prepass_pass = DRW_pass_create("Prepass", (do_cull) ? 
state | DRW_STATE_CULL_BACK : state);
psl->prepass_hair_pass = DRW_pass_create("Prepass", state);
+
+   psl->ghost_prepass_pass = DRW_pass_create("Prepass 

[Bf-blender-cvs] [4fcca6a0abb] blender2.8: GHOST: Make win32 errors more readable on some drivers

2018-08-14 Thread Clément Foucault
Commit: 4fcca6a0abb4bc19854c0a41c00725954345248d
Author: Clément Foucault
Date:   Tue Aug 14 20:28:18 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB4fcca6a0abb4bc19854c0a41c00725954345248d

GHOST: Make win32 errors more readable on some drivers

===

M   intern/ghost/intern/GHOST_Context.cpp

===

diff --git a/intern/ghost/intern/GHOST_Context.cpp 
b/intern/ghost/intern/GHOST_Context.cpp
index 823a476d244..e02f73ad12a 100644
--- a/intern/ghost/intern/GHOST_Context.cpp
+++ b/intern/ghost/intern/GHOST_Context.cpp
@@ -59,7 +59,10 @@ bool win32_chk(bool result, const char *file, int line, 
const char *text)
 
DWORD count = 0;
 
-   switch (error) {
+   /* Some drivers returns a HRESULT instead of a standard error 
message.
+* i.e: 0xC0072095 instead of 0x2095 for 
ERROR_INVALID_VERSION_ARB
+* So strip down the error to the valid error code range. */
+   switch (error & 0x) {
case ERROR_INVALID_VERSION_ARB:
msg = "The specified OpenGL version and feature 
set are either invalid or not supported.\n";
break;

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


[Bf-blender-cvs] [cb65542d2c4] blender2.8: DRW: Fix incorrect default stencil value

2018-08-14 Thread Clément Foucault
Commit: cb65542d2c49c2008c040fecd1f181b024f2a468
Author: Clément Foucault
Date:   Tue Aug 14 20:26:48 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBcb65542d2c49c2008c040fecd1f181b024f2a468

DRW: Fix incorrect default stencil value

===

M   source/blender/draw/intern/draw_manager_exec.c

===

diff --git a/source/blender/draw/intern/draw_manager_exec.c 
b/source/blender/draw/intern/draw_manager_exec.c
index 004e0137c66..3180cf5c459 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -353,7 +353,7 @@ void drw_state_set(DRWState state)
/* disable write & test */
DST.stencil_mask = 0;
glStencilMask(0x00);
-   glStencilFunc(GL_ALWAYS, 1, 0xFF);
+   glStencilFunc(GL_ALWAYS, 0, 0xFF);
glDisable(GL_STENCIL_TEST);
}
}

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


[Bf-blender-cvs] [a5d72bac8e2] blender2.8: Fix (unreported): misuse of GL Context when creating new window and/or rendering.

2018-08-14 Thread mano-wii
Commit: a5d72bac8e2309470781d6a77335583bbfa0a903
Author: mano-wii
Date:   Tue Aug 14 16:10:35 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBa5d72bac8e2309470781d6a77335583bbfa0a903

Fix (unreported): misuse of GL Context when creating new window and/or 
rendering.

===

M   source/blender/render/intern/source/pipeline.c
M   source/blender/windowmanager/intern/wm_window.c

===

diff --git a/source/blender/render/intern/source/pipeline.c 
b/source/blender/render/intern/source/pipeline.c
index 510a4aa4685..9d220e181fa 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1043,12 +1043,14 @@ void RE_gl_context_create(Render *re)
 void RE_gl_context_destroy(Render *re)
 {
/* Needs to be called from the thread which used the ogl context for 
rendering. */
-   if (re->gpu_context) {
-   GPU_context_active_set(re->gpu_context);
-   GPU_context_discard(re->gpu_context);
-   re->gpu_context = NULL;
-   }
if (re->gl_context) {
+   if (re->gpu_context) {
+   WM_opengl_context_activate(re->gl_context);
+   GPU_context_active_set(re->gpu_context);
+   GPU_context_discard(re->gpu_context);
+   re->gpu_context = NULL;
+   }
+
WM_opengl_context_dispose(re->gl_context);
re->gl_context = NULL;
}
diff --git a/source/blender/windowmanager/intern/wm_window.c 
b/source/blender/windowmanager/intern/wm_window.c
index f391c92b4ca..c5226a0b809 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -631,6 +631,10 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, 
const char *title, wm
wm_get_screensize(_w, _h);
posy = (scr_h - win->posy - win->sizey);
 
+   /* Clear drawable so we can set the new window. */
+   wmWindow *prev_windrawable = wm->windrawable;
+   wm_window_clear_drawable(wm);
+
ghostwin = GHOST_CreateWindow(g_system, title,
  win->posx, posy, win->sizex, win->sizey,
  (GHOST_TWindowState)win->windowstate,
@@ -640,9 +644,6 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, 
const char *title, wm
if (ghostwin) {
GHOST_RectangleHandle bounds;
 
-   /* Clear drawable so we can set the new window. */
-   wm_window_clear_drawable(wm);
-
win->gpuctx = GPU_context_create();
 
/* needed so we can detect the graphics card below */
@@ -650,8 +651,7 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, 
const char *title, wm
 
/* Set window as drawable upon creation. Note this has already 
been
 * it has already been activated by GHOST_CreateWindow. */
-   bool activate = false;
-   wm_window_set_drawable(wm, win, activate);
+   wm_window_set_drawable(wm, win, false);
 
win->ghostwin = ghostwin;
GHOST_SetWindowUserData(ghostwin, win); /* pointer back */
@@ -689,6 +689,9 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, 
const char *title, wm
/* standard state vars for window */
GPU_state_init();
}
+   else {
+   wm_window_set_drawable(wm, prev_windrawable, false);
+   }
 }
 
 /**

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


[Bf-blender-cvs] [37f6a26e742] blender2.8: Fix viewport background video/clip not updating on playback

2018-08-14 Thread Dalai Felinto
Commit: 37f6a26e742d54e3d366289397f0598e1ef1f770
Author: Dalai Felinto
Date:   Tue Aug 14 15:52:11 2018 -0300
Branches: blender2.8
https://developer.blender.org/rB37f6a26e742d54e3d366289397f0598e1ef1f770

Fix viewport background video/clip not updating on playback

CFRA should be avoided, it is not the depsgraph current frame, it is only
updated on cow flush.

===

M   source/blender/editors/space_view3d/view3d_draw_legacy.c

===

diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c 
b/source/blender/editors/space_view3d/view3d_draw_legacy.c
index 45e4c4b4676..558af718101 100644
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@ -515,7 +515,7 @@ static void view3d_draw_bgpic(Scene *scene, Depsgraph 
*depsgraph,
ima = bgpic->ima;
if (ima == NULL)
continue;
-   BKE_image_user_frame_calc(>iuser, CFRA, 
0);
+   BKE_image_user_frame_calc(>iuser, 
(int)DEG_get_ctime(depsgraph), 0);
if (ima->source == IMA_SRC_SEQUENCE && 
!(bgpic->iuser.flag & IMA_USER_FRAME_IN_RANGE)) {
ibuf = NULL; /* frame is out of range, 
dont show */
}
@@ -543,7 +543,7 @@ static void view3d_draw_bgpic(Scene *scene, Depsgraph 
*depsgraph,
if (clip == NULL)
continue;
 
-   BKE_movieclip_user_set_frame(>cuser, 
CFRA);
+   BKE_movieclip_user_set_frame(>cuser, 
(int)DEG_get_ctime(depsgraph));
ibuf = BKE_movieclip_get_ibuf(clip, 
>cuser);
 
image_aspect[0] = clip->aspx;

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


[Bf-blender-cvs] [6ca48a523a7] blender2.8: Fix gpu building after cleanup

2018-08-14 Thread Dalai Felinto
Commit: 6ca48a523a753888e766dd7cc7a9edcaf765e7dd
Author: Dalai Felinto
Date:   Tue Aug 14 16:07:19 2018 -0300
Branches: blender2.8
https://developer.blender.org/rB6ca48a523a753888e766dd7cc7a9edcaf765e7dd

Fix gpu building after cleanup

Broken since: a3c9f4de7041993ace15078e9943dc2e2c7c1fff

===

M   source/blender/gpu/intern/gpu_draw.c

===

diff --git a/source/blender/gpu/intern/gpu_draw.c 
b/source/blender/gpu/intern/gpu_draw.c
index 64301179dac..325ade776de 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -73,6 +73,7 @@
 
 #include "GPU_draw.h"
 #include "GPU_extensions.h"
+#include "GPU_glew.h"
 #include "GPU_material.h"
 #include "GPU_matrix.h"
 #include "GPU_shader.h"

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


[Bf-blender-cvs] [b2966b70fe9] blender2.8: EEVEE: Volumes - get current frame from depsgraph

2018-08-14 Thread Dalai Felinto
Commit: b2966b70fe9f3cf76af52800e88fbb9395b44077
Author: Dalai Felinto
Date:   Tue Aug 14 15:58:16 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBb2966b70fe9f3cf76af52800e88fbb9395b44077

EEVEE: Volumes - get current frame from depsgraph

The value from scene is not up to date at all times.

===

M   source/blender/draw/engines/eevee/eevee_volumes.c

===

diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c 
b/source/blender/draw/engines/eevee/eevee_volumes.c
index f8bb8c6f1cf..b729c53628f 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -458,6 +458,8 @@ void EEVEE_volumes_cache_init(EEVEE_ViewLayerData *sldata, 
EEVEE_Data *vedata)
 
 void EEVEE_volumes_cache_object_add(EEVEE_ViewLayerData *sldata, EEVEE_Data 
*vedata, Scene *scene, Object *ob)
 {
+   const DRWContextState *draw_ctx = DRW_context_state_get();
+
float *texcoloc = NULL;
float *texcosize = NULL;
struct ModifierData *md = NULL;
@@ -501,7 +503,7 @@ void EEVEE_volumes_cache_object_add(EEVEE_ViewLayerData 
*sldata, EEVEE_Data *ved
SmokeModifierData *smd = (SmokeModifierData *)md;
SmokeDomainSettings *sds = smd->domain;
/* Don't show smoke before simulation starts, this could be 
made an option in the future. */
-   const bool show_smoke = (CFRA >= 
sds->point_cache[0]->startframe);
+   const bool show_smoke = 
((int)DEG_get_ctime(draw_ctx->depsgraph) >= sds->point_cache[0]->startframe);
 
if (sds->fluid && show_smoke) {
if (!sds->wt || !(sds->viewsettings & 
MOD_SMOKE_VIEW_SHOWBIG)) {

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


[Bf-blender-cvs] [e6af1e44787] blender2.8: Cleanup: remove unused theme color functions using legacy GL.

2018-08-14 Thread Brecht Van Lommel
Commit: e6af1e447871a66dc5808e9544e459008c4c1977
Author: Brecht Van Lommel
Date:   Tue Aug 14 20:03:08 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBe6af1e447871a66dc5808e9544e459008c4c1977

Cleanup: remove unused theme color functions using legacy GL.

===

M   source/blender/editors/include/UI_resources.h
M   source/blender/editors/interface/resources.c

===

diff --git a/source/blender/editors/include/UI_resources.h 
b/source/blender/editors/include/UI_resources.h
index d2fbb881a0a..94223d1ff46 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -322,24 +322,6 @@ struct bThemeState {
 
 // THE CODERS API FOR THEMES:
 
-// sets the color
-voidUI_ThemeColor(int colorid);
-
-// sets the color plus alpha
-void   UI_ThemeColor4(int colorid);
-
-// sets color plus offset for shade
-void   UI_ThemeColorShade(int colorid, int offset);
-
-// sets color plus offset for alpha
-void   UI_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset);
-
-// sets color, which is blend between two theme colors
-voidUI_ThemeColorBlend(int colorid1, int colorid2, float fac);
-// same, with shade offset
-voidUI_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int 
offset);
-voidUI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, 
int offset, int alphaoffset);
-
 // returns one value, not scaled
 float   UI_GetThemeValuef(int colorid);
 int UI_GetThemeValue(int colorid);
@@ -379,9 +361,6 @@ void UI_GetThemeColor4ubv(int colorid, unsigned char 
col[4]);
 // get a theme color from specified space type
 void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]);
 
-// blends and shades between two color pointers
-voidUI_ColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned 
char cp2[3], float fac, int offset);
-
 // shade a 3 byte color (same as UI_GetColorPtrBlendShade3ubv with 0.0 factor)
 voidUI_GetColorPtrShade3ubv(const unsigned char cp1[3], unsigned char 
col[3], int offset);
 
diff --git a/source/blender/editors/interface/resources.c 
b/source/blender/editors/interface/resources.c
index 72023ebf2ae..7b6f6d0038b 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -799,51 +799,6 @@ void UI_Theme_Restore(struct bThemeState *theme_state)
g_theme_state = *theme_state;
 }
 
-/* for space windows only */
-void UI_ThemeColor(int colorid)
-{
-   const unsigned char *cp;
-
-   cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
-   glColor3ubv(cp);
-
-}
-
-/* plus alpha */
-void UI_ThemeColor4(int colorid)
-{
-   const unsigned char *cp;
-
-   cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
-   glColor4ubv(cp);
-}
-
-/* set the color with offset for shades */
-void UI_ThemeColorShade(int colorid, int offset)
-{
-   unsigned char col[4];
-   UI_GetThemeColorShade4ubv(colorid, offset, col);
-   glColor4ubv(col);
-}
-
-void UI_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset)
-{
-   int r, g, b, a;
-   const unsigned char *cp;
-
-   cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
-   r = coloffset + (int) cp[0];
-   CLAMP(r, 0, 255);
-   g = coloffset + (int) cp[1];
-   CLAMP(g, 0, 255);
-   b = coloffset + (int) cp[2];
-   CLAMP(b, 0, 255);
-   a = alphaoffset + (int) cp[3];
-   CLAMP(a, 0, 255);
-
-   glColor4ub(r, g, b, a);
-}
-
 void UI_GetThemeColorShadeAlpha4ubv(int colorid, int coloffset, int 
alphaoffset, unsigned char col[4])
 {
int r, g, b, a;
@@ -891,58 +846,6 @@ void UI_GetThemeColorBlend3f(int colorid1, int colorid2, 
float fac, float r_col[
r_col[2] = ((1.0f - fac) * cp1[2] + fac * cp2[2]) / 255.0f;
 }
 
-/* blend between to theme colors, and set it */
-void UI_ThemeColorBlend(int colorid1, int colorid2, float fac)
-{
-   unsigned char col[3];
-   UI_GetThemeColorBlend3ubv(colorid1, colorid2, fac, col);
-   glColor3ubv(col);
-}
-
-/* blend between to theme colors, shade it, and set it */
-void UI_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int offset)
-{
-   int r, g, b;
-   const unsigned char *cp1, *cp2;
-
-   cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
-   cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
-
-   CLAMP(fac, 0.0f, 1.0f);
-   r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
-   g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
-   b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
-
-   CLAMP(r, 0, 255);
-   CLAMP(g, 0, 255);
-   CLAMP(b, 0, 255);
-
-   glColor3ub(r, g, b);
-}
-
-/* blend between to theme colors, shade it, and set it */

[Bf-blender-cvs] [26812a185f4] blender2.8: Fix masks not drawing with draw type set to dashed.

2018-08-14 Thread Brecht Van Lommel
Commit: 26812a185f42d52a42ebb5fdc1bb7fff58066cd1
Author: Brecht Van Lommel
Date:   Tue Aug 14 19:54:33 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB26812a185f42d52a42ebb5fdc1bb7fff58066cd1

Fix masks not drawing with draw type set to dashed.

===

M   source/blender/editors/mask/mask_draw.c

===

diff --git a/source/blender/editors/mask/mask_draw.c 
b/source/blender/editors/mask/mask_draw.c
index 506dec2aa3e..a660eb1aa22 100644
--- a/source/blender/editors/mask/mask_draw.c
+++ b/source/blender/editors/mask/mask_draw.c
@@ -58,6 +58,7 @@
 #include "GPU_matrix.h"
 #include "GPU_state.h"
 
+#include "UI_interface.h"
 #include "UI_resources.h"
 #include "UI_view2d.h"
 
@@ -453,27 +454,30 @@ static void mask_draw_curve_type(const bContext *C, 
MaskSpline *spline, float (*
break;
 
case MASK_DT_DASH:
-   /* TODO(merwin): use dashed line shader here
-* probably better with geometry shader (after core 
profile switch)
-*/
-#if 0
-   GPU_line_width(1.0f);
-
-   GPU_basic_shader_bind_enable(GPU_SHADER_LINE | 
GPU_SHADER_STIPPLE);
-   GPU_basic_shader_line_stipple(3, 0x);
+   {
+   float colors[8];
 
mask_color_active_tint(rgb_tmp, rgb_spline, is_active);
-   immUniformColor4ubv(rgb_tmp);
-   mask_draw_array(pos, draw_method, points, tot_point);
-
+   rgba_uchar_to_float(colors, rgb_tmp);
mask_color_active_tint(rgb_tmp, rgb_black, is_active);
-   immUniformColor4ubv(rgb_tmp);
-   GPU_basic_shader_line_stipple(3, 0x);
+   rgba_uchar_to_float(colors+4, rgb_tmp);
+
+   
immBindBuiltinProgram(GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR);
+
+   float viewport_size[4];
+   GPU_viewport_size_get_f(viewport_size);
+   immUniform2f("viewport_size", viewport_size[2] / 
UI_DPI_FAC, viewport_size[3] / UI_DPI_FAC);
+
+   immUniform1i("colors_len", 2);  /* "advanced" mode */
+   immUniformArray4fv("colors", colors, 2);
+   immUniform1f("dash_width", 4.0f);
+   GPU_line_width(1.0f);
+
mask_draw_array(pos, draw_method, points, tot_point);
 
-   GPU_basic_shader_bind_disable(GPU_SHADER_LINE | 
GPU_SHADER_STIPPLE);
-#endif
+   immUnbindProgram();
break;
+   }
 
default:
BLI_assert(false);

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


[Bf-blender-cvs] [a3c9f4de704] blender2.8: Cleanup: remove unused basic shader, we use many specialized shaders now.

2018-08-14 Thread Brecht Van Lommel
Commit: a3c9f4de7041993ace15078e9943dc2e2c7c1fff
Author: Brecht Van Lommel
Date:   Tue Aug 14 19:56:43 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBa3c9f4de7041993ace15078e9943dc2e2c7c1fff

Cleanup: remove unused basic shader, we use many specialized shaders now.

===

M   source/blender/editors/interface/interface_widgets.c
M   source/blender/editors/screen/glutil.c
M   source/blender/editors/space_view3d/drawobject.c
M   source/blender/gpu/CMakeLists.txt
D   source/blender/gpu/GPU_basic_shader.h
D   source/blender/gpu/intern/gpu_basic_shader.c
M   source/blender/gpu/intern/gpu_draw.c
M   source/blender/gpu/intern/gpu_extensions.c
M   source/blender/gpu/intern/gpu_immediate_util.c
D   source/blender/gpu/shaders/gpu_shader_basic_frag.glsl
D   source/blender/gpu/shaders/gpu_shader_basic_geom.glsl
D   source/blender/gpu/shaders/gpu_shader_basic_vert.glsl

===

diff --git a/source/blender/editors/interface/interface_widgets.c 
b/source/blender/editors/interface/interface_widgets.c
index 019aabdb466..2296c3bc39d 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -53,7 +53,6 @@
 
 #include "interface_intern.h"
 
-#include "GPU_basic_shader.h"
 #include "GPU_batch.h"
 #include "GPU_batch_presets.h"
 #include "GPU_immediate.h"
diff --git a/source/blender/editors/screen/glutil.c 
b/source/blender/editors/screen/glutil.c
index 7fa093106df..b1bda08e9a5 100644
--- a/source/blender/editors/screen/glutil.c
+++ b/source/blender/editors/screen/glutil.c
@@ -48,7 +48,6 @@
 #include "IMB_colormanagement.h"
 #include "IMB_imbuf_types.h"
 
-#include "GPU_basic_shader.h"
 #include "GPU_immediate.h"
 #include "GPU_matrix.h"
 #include "GPU_state.h"
diff --git a/source/blender/editors/space_view3d/drawobject.c 
b/source/blender/editors/space_view3d/drawobject.c
index 3649c6f6dbb..616095188bb 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -95,7 +95,6 @@
 
 #include "GPU_draw.h"
 #include "GPU_select.h"
-#include "GPU_basic_shader.h"
 #include "GPU_shader.h"
 #include "GPU_immediate.h"
 #include "GPU_immediate_util.h"
diff --git a/source/blender/gpu/CMakeLists.txt 
b/source/blender/gpu/CMakeLists.txt
index b9cc1de447f..938c074920c 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -58,7 +58,6 @@ set(INC_SYS
 
 set(SRC
intern/gpu_attr_binding.c
-   intern/gpu_basic_shader.c
intern/gpu_batch.c
intern/gpu_batch_presets.c
intern/gpu_batch_utils.c
@@ -98,9 +97,6 @@ set(SRC
shaders/gpu_shader_material.glsl
shaders/gpu_shader_sep_gaussian_blur_frag.glsl
shaders/gpu_shader_sep_gaussian_blur_vert.glsl
-   shaders/gpu_shader_basic_frag.glsl
-   shaders/gpu_shader_basic_vert.glsl
-   shaders/gpu_shader_basic_geom.glsl
shaders/gpu_shader_vertex.glsl
shaders/gpu_shader_vsm_store_frag.glsl
shaders/gpu_shader_vsm_store_vert.glsl
@@ -110,7 +106,6 @@ set(SRC
shaders/gpu_shader_smoke_vert.glsl
 
GPU_attr_binding.h
-   GPU_basic_shader.h
GPU_batch.h
GPU_buffers.h
GPU_common.h
@@ -252,9 +247,6 @@ data_to_c_simple(shaders/gpu_shader_smoke_vert.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_material.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_frag.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_basic_frag.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_basic_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_basic_geom.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_vertex.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_vertex_world.glsl SRC)
 data_to_c_simple(shaders/gpu_shader_vsm_store_frag.glsl SRC)
diff --git a/source/blender/gpu/GPU_basic_shader.h 
b/source/blender/gpu/GPU_basic_shader.h
deleted file mode 100644
index 89d31f57607..000
--- a/source/blender/gpu/GPU_basic_shader.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * * BEGIN GPL LICENSE BLOCK *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth 

[Bf-blender-cvs] [1024161f806] blender2.8: Fix uneven column widths in user preferences interface and editing.

2018-08-14 Thread Brecht Van Lommel
Commit: 1024161f80693b6dad21a84a29e2733bfc824516
Author: Brecht Van Lommel
Date:   Tue Aug 14 19:27:59 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1024161f80693b6dad21a84a29e2733bfc824516

Fix uneven column widths in user preferences interface and editing.

===

M   release/scripts/startup/bl_ui/space_userpref.py

===

diff --git a/release/scripts/startup/bl_ui/space_userpref.py 
b/release/scripts/startup/bl_ui/space_userpref.py
index 52d4640806d..e8fdfc71ae8 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -204,9 +204,10 @@ class USERPREF_PT_interface(Panel):
 userpref = context.user_preferences
 view = userpref.view
 
-row = layout.row()
-
+split = layout.split()
+row = split.row()
 col = row.column()
+
 col.label(text="Display:")
 col.prop(view, "ui_scale", text="Scale")
 col.prop(view, "ui_line_width", text="Line Width")
@@ -224,7 +225,7 @@ class USERPREF_PT_interface(Panel):
 sub = col.column(align=True)
 
 sub.label("3D Viewport Axis:")
-sub.row().prop(view, "mini_axis_type", expand=True)
+sub.row().prop(view, "mini_axis_type", text="")
 
 sub = col.column(align=True)
 sub.active = view.mini_axis_type == 'MINIMAL'
@@ -250,10 +251,10 @@ class USERPREF_PT_interface(Panel):
 col.prop(view, "show_tooltips_python")
 col.prop(view, "show_developer_ui")
 
+row = split.row()
 row.separator()
-row.separator()
-
 col = row.column()
+
 col.label(text="View Gizmos:")
 col.prop(view, "use_mouse_depth_cursor")
 col.prop(view, "use_cursor_lock_adjust")
@@ -280,9 +281,8 @@ class USERPREF_PT_interface(Panel):
 elif view.view_frame_type == 'KEYFRAMES':
 col.prop(view, "view_frame_keyframes")
 
+row = split.row()
 row.separator()
-row.separator()
-
 col = row.column()
 
 col.label(text="Menus:")
@@ -333,9 +333,10 @@ class USERPREF_PT_edit(Panel):
 userpref = context.user_preferences
 edit = userpref.edit
 
-row = layout.row()
-
+split = layout.split()
+row = split.row()
 col = row.column()
+
 col.label(text="Link Materials To:")
 col.prop(edit, "material_link", text="")
 
@@ -357,10 +358,10 @@ class USERPREF_PT_edit(Panel):
 col.prop(edit, "undo_steps", text="Steps")
 col.prop(edit, "undo_memory_limit", text="Memory Limit")
 
+row = split.row()
 row.separator()
-row.separator()
-
 col = row.column()
+
 col.label(text="Annotations:")
 sub = col.row()
 sub.prop(edit, "grease_pencil_default_color", text="Default Color")
@@ -386,10 +387,10 @@ class USERPREF_PT_edit(Panel):
 col.label(text="Animation Editors:")
 col.prop(edit, "fcurve_unselected_alpha", text="F-Curve Visibility")
 
+row = split.row()
 row.separator()
-row.separator()
-
 col = row.column()
+
 col.label(text="Keyframing:")
 col.prop(edit, "use_visual_keying")
 col.prop(edit, "use_keyframe_insert_needed", text="Only Insert Needed")
@@ -419,10 +420,10 @@ class USERPREF_PT_edit(Panel):
 col.prop(edit, "use_drag_immediately")
 col.prop(edit, "use_numeric_input_advanced")
 
+row = split.row()
 row.separator()
-row.separator()
-
 col = row.column()
+
 col.prop(edit, "sculpt_paint_overlay_color", text="Sculpt Overlay 
Color")
 
 col.separator()

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


[Bf-blender-cvs] [fdb40622942] blender2.8: Cleanup: unused variables

2018-08-14 Thread Campbell Barton
Commit: fdb40622942ecae93afad32bee4b9e78598650a8
Author: Campbell Barton
Date:   Wed Aug 15 01:52:39 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBfdb40622942ecae93afad32bee4b9e78598650a8

Cleanup: unused variables

===

M   release/scripts/startup/bl_ui/space_toolsystem_toolbar.py

===

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py 
b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 363b409c688..d9586a0c15c 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -157,7 +157,6 @@ class _defs_view3d_generic:
 @ToolDef.from_fn
 def cursor():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("view3d.cursor3d")
 layout.prop(props, "use_depth")
 layout.prop(props, "orientation")
@@ -511,7 +510,6 @@ class _defs_edit_mesh:
 @ToolDef.from_fn
 def rip_region():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("mesh.rip_move")
 props_macro = props.MESH_OT_rip
 layout.prop(props_macro, "use_fill")
@@ -611,7 +609,6 @@ class _defs_edit_mesh:
 @ToolDef.from_fn
 def inset():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("mesh.inset")
 layout.prop(props, "use_outset")
 layout.prop(props, "use_individual")
@@ -726,7 +723,6 @@ class _defs_edit_mesh:
 @ToolDef.from_fn
 def shrink_fatten():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("transform.shrink_fatten")
 layout.prop(props, "use_even_offset")
 
@@ -756,7 +752,6 @@ class _defs_edit_mesh:
 @ToolDef.from_fn
 def knife():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("mesh.knife_tool")
 layout.prop(props, "use_occlude_geometry")
 layout.prop(props, "only_selected")
@@ -996,7 +991,6 @@ class _defs_weight_paint:
 @ToolDef.from_fn
 def gradient():
 def draw_settings(context, layout, tool):
-wm = context.window_manager
 props = tool.operator_properties("paint.weight_gradient")
 layout.prop(props, "type")

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


[Bf-blender-cvs] [e88e80a6a0c] blender2.8: 3D View boarder/lasso select tool options

2018-08-14 Thread Campbell Barton
Commit: e88e80a6a0c8976ac2d245c274ca5a0388736743
Author: Campbell Barton
Date:   Tue Aug 14 10:28:41 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBe88e80a6a0c8976ac2d245c274ca5a0388736743

3D View boarder/lasso select tool options

Add tool options to control how select operates (add/sub/set/and/xor).

Note: edit mode armature select still needs to support all options,
this is complicated by how it handles partial end-point selection.

===

M   release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M   source/blender/editors/animation/anim_channels_edit.c
M   source/blender/editors/animation/anim_markers.c
M   source/blender/editors/armature/armature_ops.c
M   source/blender/editors/armature/armature_select.c
M   source/blender/editors/armature/pose_select.c
M   source/blender/editors/curve/curve_ops.c
M   source/blender/editors/curve/editcurve_select.c
M   source/blender/editors/gpencil/gpencil_ops.c
M   source/blender/editors/gpencil/gpencil_select.c
M   source/blender/editors/include/ED_mesh.h
M   source/blender/editors/include/ED_particle.h
M   source/blender/editors/include/ED_sculpt.h
A   source/blender/editors/include/ED_select_utils.h
M   source/blender/editors/lattice/editlattice_select.c
M   source/blender/editors/lattice/lattice_ops.c
M   source/blender/editors/mask/mask_add.c
M   source/blender/editors/mask/mask_edit.c
M   source/blender/editors/mask/mask_ops.c
M   source/blender/editors/mask/mask_select.c
M   source/blender/editors/mesh/editface.c
M   source/blender/editors/mesh/editmesh_select.c
M   source/blender/editors/mesh/mesh_ops.c
M   source/blender/editors/metaball/mball_edit.c
M   source/blender/editors/metaball/mball_ops.c
M   source/blender/editors/object/object_ops.c
M   source/blender/editors/object/object_select.c
M   source/blender/editors/physics/particle_edit.c
M   source/blender/editors/physics/physics_ops.c
M   source/blender/editors/sculpt_paint/paint_mask.c
M   source/blender/editors/sculpt_paint/paint_ops.c
M   source/blender/editors/space_action/action_ops.c
M   source/blender/editors/space_action/action_select.c
M   source/blender/editors/space_clip/clip_graph_ops.c
M   source/blender/editors/space_clip/space_clip.c
M   source/blender/editors/space_clip/tracking_select.c
M   source/blender/editors/space_graph/graph_ops.c
M   source/blender/editors/space_graph/graph_select.c
M   source/blender/editors/space_nla/nla_ops.c
M   source/blender/editors/space_nla/nla_select.c
M   source/blender/editors/space_node/node_ops.c
M   source/blender/editors/space_node/node_select.c
M   source/blender/editors/space_outliner/outliner_edit.c
M   source/blender/editors/space_outliner/outliner_ops.c
M   source/blender/editors/space_sequencer/sequencer_ops.c
M   source/blender/editors/space_sequencer/sequencer_select.c
M   source/blender/editors/space_view3d/view3d_ops.c
M   source/blender/editors/space_view3d/view3d_select.c
M   source/blender/editors/util/CMakeLists.txt
A   source/blender/editors/util/select_utils.c
M   source/blender/editors/uvedit/uvedit_ops.c
M   source/blender/windowmanager/WM_api.h
M   source/blender/windowmanager/gizmo/intern/wm_gizmo_map.c
M   source/blender/windowmanager/intern/wm_gesture_ops.c
M   source/blender/windowmanager/intern/wm_operator_props.c

===

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py 
b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index e1ecba1550a..363b409c688 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -373,18 +373,22 @@ class _defs_view3d_select:
 
 @ToolDef.from_fn
 def border():
+def draw_settings(context, layout, tool):
+props = tool.operator_properties("view3d.select_border")
+layout.prop(props, "mode", expand=True)
 return dict(
 text="Select Border",
 icon="ops.generic.select_border",
 widget=None,
 keymap=(
 ("view3d.select_border",
- dict(deselect=False),
+ dict(mode='ADD'),
  dict(type='EVT_TWEAK_A', value='ANY')),
 ("view3d.select_border",
- dict(deselect=True),
+ dict(mode='SUB'),
  dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
 ),
+draw_settings=draw_settings,
 )
 
 @ToolDef.from_fn
@@ -405,18 +409,22 @@ class _defs_view3d_select:
 
 @ToolDef.from_fn
 def lasso():
+def draw_settings(context, layout, tool):
+props = 

[Bf-blender-cvs] [744c07b263d] temp-fracture-modifier-2.8: made FM more CoW compliant and added some sanity checks

2018-08-14 Thread Martin Felke
Commit: 744c07b263dca772be88f89ab379cc6ba59eecfc
Author: Martin Felke
Date:   Tue Aug 14 17:29:33 2018 +0200
Branches: temp-fracture-modifier-2.8
https://developer.blender.org/rB744c07b263dca772be88f89ab379cc6ba59eecfc

made FM more CoW compliant and added some sanity checks

===

M   source/blender/blenkernel/intern/fracture.c
M   source/blender/blenkernel/intern/fracture_prefractured.c
M   source/blender/blenkernel/intern/fracture_rigidbody.c
M   source/blender/blenkernel/intern/rigidbody.c
M   source/blender/depsgraph/intern/builder/deg_builder_relations.cc
M   source/blender/editors/object/object_modifier.c

===

diff --git a/source/blender/blenkernel/intern/fracture.c 
b/source/blender/blenkernel/intern/fracture.c
index e6879f18d7e..d50440ee4e9 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -1831,22 +1831,25 @@ Mesh* 
BKE_fracture_assemble_mesh_from_islands(FractureModifierData* fmd, ListBas
{
float fno[3], centr[3];
 
-   if (fmd->fix_normals) {
-   /*ignore global quaternion rotation here */
-   normal_short_to_float_v3(fno, 
mi->mesh->mvert[v].no);
-   mul_qt_v3(mi->rigidbody->orn, fno);
-   mul_qt_v3(iquat, fno);
-   normal_float_to_short_v3(mv->no, fno);
-   }
+   if (mi->rigidbody)
+   {
+   if (fmd->fix_normals) {
+   /*ignore global quaternion rotation 
here */
+   normal_short_to_float_v3(fno, 
mi->mesh->mvert[v].no);
+   mul_qt_v3(mi->rigidbody->orn, fno);
+   mul_qt_v3(iquat, fno);
+   normal_float_to_short_v3(mv->no, fno);
+   }
 
-   mul_v3_v3(mv->co, size);
-   mul_qt_v3(mi->rigidbody->orn, mv->co);
-   copy_v3_v3(centr, mi->centroid);
-   mul_v3_v3(centr, size);
-   mul_qt_v3(mi->rigidbody->orn, centr);
-   sub_v3_v3(mv->co, centr);
-   add_v3_v3(mv->co, mi->rigidbody->pos);
-   mul_m4_v3(imat, mv->co);
+   mul_v3_v3(mv->co, size);
+   mul_qt_v3(mi->rigidbody->orn, mv->co);
+   copy_v3_v3(centr, mi->centroid);
+   mul_v3_v3(centr, size);
+   mul_qt_v3(mi->rigidbody->orn, centr);
+   sub_v3_v3(mv->co, centr);
+   add_v3_v3(mv->co, mi->rigidbody->pos);
+   mul_m4_v3(imat, mv->co);
+   }
 
BLI_ghash_insert(fmd->shared->vert_index_map, 
SET_INT_IN_POINTER(vertstart + v), SET_INT_IN_POINTER(mi->id));
}
diff --git a/source/blender/blenkernel/intern/fracture_prefractured.c 
b/source/blender/blenkernel/intern/fracture_prefractured.c
index 2f76c4c6cbe..faeefadc224 100644
--- a/source/blender/blenkernel/intern/fracture_prefractured.c
+++ b/source/blender/blenkernel/intern/fracture_prefractured.c
@@ -75,7 +75,7 @@ MeshIsland *BKE_fracture_mesh_island_create(Mesh* me, Main* 
bmain, Scene *scene,
 
 Mesh* BKE_fracture_apply(FractureModifierData *fmd, Object *ob, Mesh *me_orig, 
Depsgraph* depsgraph)
 {
-   Scene *scene = DEG_get_input_scene(depsgraph);
+   Scene *scene = DEG_get_evaluated_scene(depsgraph);
//Object *ob = DEG_get_evaluated_object(depsgraph, obj);
 
Mesh* me_assembled = NULL;
@@ -88,7 +88,7 @@ Mesh* BKE_fracture_apply(FractureModifierData *fmd, Object 
*ob, Mesh *me_orig, D
Mesh *me_tmp = NULL;
 
// HACK
-   ob = DEG_get_original_object(ob);
+   //ob = DEG_get_original_object(ob);
 
/*free old stuff here */
BKE_fracture_constraints_free(fmd, scene);
@@ -117,6 +117,8 @@ Mesh* BKE_fracture_apply(FractureModifierData *fmd, Object 
*ob, Mesh *me_orig, D
 
fmd->shared->refresh_constraints = true;
fmd->shared->refresh_autohide = true;
+
+   DEG_id_tag_update(>id, DEG_TAG_COPY_ON_WRITE);
}
else if (fmd->shared->refresh_dynamic)
{
@@ -128,6 +130,7 @@ Mesh* BKE_fracture_apply(FractureModifierData *fmd, Object 
*ob, Mesh *me_orig, D
if (fmd->shared->mesh_islands.first)
{
me_assembled = BKE_fracture_assemble_mesh_from_islands(fmd, 
>shared->mesh_islands, 

[Bf-blender-cvs] [d92d310b158] blender2.8: Fix T55719: crash with sculpt dyntopo and constant detail resolution sampling.

2018-08-14 Thread Brecht Van Lommel
Commit: d92d310b158d4b946aa8b811248b25e7a39f7a1a
Author: Brecht Van Lommel
Date:   Tue Aug 14 16:36:45 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBd92d310b158d4b946aa8b811248b25e7a39f7a1a

Fix T55719: crash with sculpt dyntopo and constant detail resolution sampling.

===

M   source/blender/editors/sculpt_paint/sculpt.c

===

diff --git a/source/blender/editors/sculpt_paint/sculpt.c 
b/source/blender/editors/sculpt_paint/sculpt.c
index 77f4da2d16b..3efd18266dd 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -67,6 +67,7 @@
 #include "BKE_multires.h"
 #include "BKE_paint.h"
 #include "BKE_report.h"
+#include "BKE_screen.h"
 #include "BKE_node.h"
 #include "BKE_object.h"
 #include "BKE_subsurf.h"
@@ -5926,25 +5927,37 @@ static void SCULPT_OT_detail_flood_fill(wmOperatorType 
*ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
 }
 
-static void sample_detail(bContext *C, int ss_co[2])
+static void sample_detail(bContext *C, int mx, int my)
 {
+   /* Find 3D view to pick from. */
+   bScreen *screen = CTX_wm_screen(C);
+   ScrArea *sa = BKE_screen_find_area_xy(screen, SPACE_VIEW3D, mx, my);
+   ARegion *ar = (sa) ? BKE_area_find_region_xy(sa, RGN_TYPE_WINDOW, mx, 
my) : NULL;
+   if (ar == NULL) {
+   return;
+   }
+
+   /* Set context to 3D view. */
+   ScrArea *prev_sa = CTX_wm_area(C);
+   ARegion *prev_ar = CTX_wm_region(C);
+   CTX_wm_area_set(C, sa);
+   CTX_wm_region_set(C, ar);
+
ViewContext vc;
-   Object *ob;
-   Sculpt *sd;
-   float ray_start[3], ray_end[3], ray_normal[3], depth;
-   SculptDetailRaycastData srd;
-   float mouse[2] = {ss_co[0], ss_co[1]};
ED_view3d_viewcontext_init(C, );
 
-   sd = CTX_data_tool_settings(C)->sculpt;
-   ob = vc.obact;
-
+   /* Pick sample detail. */
+   Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
+   Object *ob = vc.obact;
Brush *brush = BKE_paint_brush(>paint);
 
sculpt_stroke_modifiers_check(C, ob, brush);
 
-   depth = sculpt_raycast_init(, mouse, ray_start, ray_end, ray_normal, 
false);
+   float mouse[2] = {mx - ar->winrct.xmin, my - ar->winrct.ymin};
+   float ray_start[3], ray_end[3], ray_normal[3];
+   float depth = sculpt_raycast_init(, mouse, ray_start, ray_end, 
ray_normal, false);
 
+   SculptDetailRaycastData srd;
srd.hit = 0;
srd.ray_start = ray_start;
srd.ray_normal = ray_normal;
@@ -5958,13 +5971,17 @@ static void sample_detail(bContext *C, int ss_co[2])
/* convert edge length to detail resolution */
sd->constant_detail = 1.0f / srd.detail;
}
+
+   /* Restore context. */
+   CTX_wm_area_set(C, prev_sa);
+   CTX_wm_region_set(C, prev_ar);
 }
 
 static int sculpt_sample_detail_size_exec(bContext *C, wmOperator *op)
 {
int ss_co[2];
RNA_int_get_array(op->ptr, "location", ss_co);
-   sample_detail(C, ss_co);
+   sample_detail(C, ss_co[0], ss_co[1]);
return OPERATOR_FINISHED;
 }
 
@@ -5977,14 +5994,14 @@ static int sculpt_sample_detail_size_invoke(bContext 
*C, wmOperator *op, const w
return OPERATOR_RUNNING_MODAL;
 }
 
-static int sculpt_sample_detail_size_modal(bContext *C, wmOperator *op, const 
wmEvent *e)
+static int sculpt_sample_detail_size_modal(bContext *C, wmOperator *op, const 
wmEvent *event)
 {
-   switch (e->type) {
+   switch (event->type) {
case LEFTMOUSE:
-   if (e->val == KM_PRESS) {
-   int ss_co[2] = {e->mval[0], e->mval[1]};
+   if (event->val == KM_PRESS) {
+   int ss_co[2] = {event->x, event->y};
 
-   sample_detail(C, ss_co);
+   sample_detail(C, ss_co[0], ss_co[1]);
 
RNA_int_set_array(op->ptr, "location", ss_co);
WM_cursor_modal_restore(CTX_wm_window(C));

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


[Bf-blender-cvs] [e61599b6384] blender2.8: Merge remote-tracking branch 'origin/master' into blender2.8

2018-08-14 Thread Ray Molenkamp
Commit: e61599b6384b877fd75eccd0b2a3b9cdf7aadc78
Author: Ray Molenkamp
Date:   Tue Aug 14 08:00:49 2018 -0600
Branches: blender2.8
https://developer.blender.org/rBe61599b6384b877fd75eccd0b2a3b9cdf7aadc78

Merge remote-tracking branch 'origin/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] [5d034351def] master: make.bat: fix ninja support.

2018-08-14 Thread Ray Molenkamp
Commit: 5d034351def8e994bb0abcd2c2202a0636158828
Author: Ray Molenkamp
Date:   Tue Aug 14 07:57:21 2018 -0600
Branches: master
https://developer.blender.org/rB5d034351def8e994bb0abcd2c2202a0636158828

make.bat: fix ninja support.

only worked with a fresh build folder.

===

M   build_files/windows/configure_ninja.cmd

===

diff --git a/build_files/windows/configure_ninja.cmd 
b/build_files/windows/configure_ninja.cmd
index 224d761adf6..995d8d56fa8 100644
--- a/build_files/windows/configure_ninja.cmd
+++ b/build_files/windows/configure_ninja.cmd
@@ -59,7 +59,7 @@ if "%MUST_CLEAN%"=="1" (
%CMAKE% cmake --build . --config Clean
 )
 
-if NOT EXIST %BUILD_DIR%\Blender.sln set MUST_CONFIGURE=1
+if NOT EXIST %BUILD_DIR%\build.ninja set MUST_CONFIGURE=1
 if "%NOBUILD%"=="1" set MUST_CONFIGURE=1
 
 if "%MUST_CONFIGURE%"=="1" (

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


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

2018-08-14 Thread Brecht Van Lommel
Commit: f19d99c10d252e2bf0b96e23dca12b4bd802f2c5
Author: Brecht Van Lommel
Date:   Tue Aug 14 15:41:11 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBf19d99c10d252e2bf0b96e23dca12b4bd802f2c5

Merge branch 'master' into blender2.8

===



===

diff --cc source/blender/editors/object/object_add.c
index 8b4412ed6f9,efc69c36cc3..f322e544307
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@@ -1809,11 -1619,9 +1809,11 @@@ static Base *duplibase_for_convert(Mai
  static int convert_exec(bContext *C, wmOperator *op)
  {
Main *bmain = CTX_data_main(C);
 +  Depsgraph *depsgraph = CTX_data_depsgraph(C);
Scene *scene = CTX_data_scene(C);
 +  ViewLayer *view_layer = CTX_data_view_layer(C);
Base *basen = NULL, *basact = NULL;
-   Object *ob1, *newob, *obact = CTX_data_active_object(C);
 -  Object *ob, *ob1, *obact = CTX_data_active_object(C);
++  Object *ob1, *obact = CTX_data_active_object(C);
DerivedMesh *dm;
Curve *cu;
Nurb *nu;
@@@ -1880,8 -1689,9 +1880,9 @@@
}
  
for (CollectionPointerLink *link = selected_editable_bases.first; link; 
link = link->next) {
+   Object *newob = NULL;
Base *base = link->ptr.data;
 -  ob = base->object;
 +  Object *ob = base->object;
  
if (ob->flag & OB_DONE || !IS_TAGGED(ob->data)) {
if (ob->type != target) {

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


[Bf-blender-cvs] [cab013bc5d4] master: Fix use of uninitialized variable in some cases, in recent bugfix.

2018-08-14 Thread Brecht Van Lommel
Commit: cab013bc5d4da1c552a3afc4ea980645e9540f46
Author: Brecht Van Lommel
Date:   Tue Aug 14 15:27:25 2018 +0200
Branches: master
https://developer.blender.org/rBcab013bc5d4da1c552a3afc4ea980645e9540f46

Fix use of uninitialized variable in some cases, in recent bugfix.

===

M   source/blender/editors/object/object_add.c

===

diff --git a/source/blender/editors/object/object_add.c 
b/source/blender/editors/object/object_add.c
index 8fc2d419c3c..efc69c36cc3 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1621,7 +1621,7 @@ static int convert_exec(bContext *C, wmOperator *op)
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
Base *basen = NULL, *basact = NULL;
-   Object *ob, *ob1, *newob, *obact = CTX_data_active_object(C);
+   Object *ob, *ob1, *obact = CTX_data_active_object(C);
DerivedMesh *dm;
Curve *cu;
Nurb *nu;
@@ -1689,6 +1689,7 @@ static int convert_exec(bContext *C, wmOperator *op)
}
 
for (CollectionPointerLink *link = selected_editable_bases.first; link; 
link = link->next) {
+   Object *newob = NULL;
Base *base = link->ptr.data;
ob = base->object;
 
@@ -1904,7 +1905,9 @@ static int convert_exec(bContext *C, wmOperator *op)
}
 
/* Ensure new object has consistent material data with its new 
obdata. */
-   test_object_materials(bmain, newob, newob->data);
+   if (newob) {
+   test_object_materials(bmain, newob, newob->data);
+   }
 
/* tag obdata if it was been changed */

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


[Bf-blender-cvs] [cc9255f8a8f] blender2.8: Sync rna_access rna property update cow check with depsgraph

2018-08-14 Thread Dalai Felinto
Commit: cc9255f8a8f1f3cf0f75c13a568dc9458e0ffb8e
Author: Dalai Felinto
Date:   Tue Aug 14 10:12:05 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBcc9255f8a8f1f3cf0f75c13a568dc9458e0ffb8e

Sync rna_access rna property update cow check with depsgraph

This is a manual synchronization. If we need to re-use the same util in both
areas it would be welcomed as well. For now this at least get things back to a
working state.

===

M   source/blender/makesdna/DNA_ID.h

===

diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 634819b33ce..d7dfa70adad 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -419,9 +419,10 @@ typedef enum ID_Type {
  ID_IS_STATIC_OVERRIDE((_id)) && \
  (((ID *)(_id))->override_static->flag 
& STATICOVERRIDE_AUTO))
 
-/* No copy-on-write for these types. */
+/* No copy-on-write for these types.
+ * Keep in sync with check_datablocks_copy_on_writable and 
deg_copy_on_write_is_needed */
 #define ID_TYPE_IS_COW(_id_type) \
-   (!ELEM(_id_type, ID_WM, ID_SCR, ID_SCRN, ID_IM, ID_MC, ID_LI))
+   (!ELEM(_id_type, ID_BR, ID_LS, ID_PAL, ID_IM))
 
 #ifdef GS
 #  undef GS

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


[Bf-blender-cvs] [4681e66f156] temp-fracture-modifier-2.8: removing shards from fracture modifer (work in progress)

2018-08-14 Thread Martin Felke
Commit: 4681e66f156dd46d1683eeec7e09dede8ba24351
Author: Martin Felke
Date:   Tue Aug 14 15:00:28 2018 +0200
Branches: temp-fracture-modifier-2.8
https://developer.blender.org/rB4681e66f156dd46d1683eeec7e09dede8ba24351

removing shards from fracture modifer (work in progress)

only dealing with mesh_islands now, they have been partially rewritten as well

===

M   intern/rigidbody/RBI_api.h
M   intern/rigidbody/rb_bullet_api.cpp
M   source/blender/blenkernel/BKE_fracture.h
M   source/blender/blenkernel/BKE_fracture_util.h
M   source/blender/blenkernel/BKE_rigidbody.h
M   source/blender/blenkernel/intern/fracture.c
M   source/blender/blenkernel/intern/fracture_automerge.c
M   source/blender/blenkernel/intern/fracture_constraints.c
M   source/blender/blenkernel/intern/fracture_dynamic.c
M   source/blender/blenkernel/intern/fracture_external.c
M   source/blender/blenkernel/intern/fracture_prefractured.c
M   source/blender/blenkernel/intern/fracture_rigidbody.c
M   source/blender/blenkernel/intern/fracture_util.c
M   source/blender/blenkernel/intern/rigidbody.c
M   source/blender/editors/object/object_modifier.c
M   source/blender/makesdna/DNA_fracture_types.h
M   source/blender/makesdna/DNA_modifier_types.h
M   source/blender/makesdna/DNA_rigidbody_types.h
M   source/blender/makesrna/intern/rna_fracture.c
M   source/blender/makesrna/intern/rna_fracture_api.c
M   source/blender/makesrna/intern/rna_rigidbody.c
M   source/blender/modifiers/intern/MOD_fracture.c

===

diff --git a/intern/rigidbody/RBI_api.h b/intern/rigidbody/RBI_api.h
index 8727c375e93..cf3ebccdea6 100644
--- a/intern/rigidbody/RBI_api.h
+++ b/intern/rigidbody/RBI_api.h
@@ -69,10 +69,12 @@ typedef struct rbConstraint rbConstraint;
 /* Collision feedback (manifolds and contact points */
 typedef struct rbContactPoint {
float contact_force;
-   int contact_body_indexA;
-   int contact_body_indexB;
float contact_pos_world_onA[3];
float contact_pos_world_onB[3];
+   void *contact_islandA;
+   void *contact_islandB;
+   void *contact_objectA;
+   void *contact_objectB;
 } rbContactPoint;
 
 /*Subclass because of Internal Tick Callback... sigh why doesnt this work with 
a simple collision callback ? */
diff --git a/intern/rigidbody/rb_bullet_api.cpp 
b/intern/rigidbody/rb_bullet_api.cpp
index 7e21e95e2d2..2c27b699969 100644
--- a/intern/rigidbody/rb_bullet_api.cpp
+++ b/intern/rigidbody/rb_bullet_api.cpp
@@ -322,7 +322,6 @@ static void tickCallback(btDynamicsWorld *world, btScalar 
timeStep)
//odd check, but in debug mode we had already 
numcontacts = 2 but didnt have ANY contacts... gah
if (tworld->m_contactCallback && j < 
contactManifold->getNumContacts())
{
-
rbContactPoint* cp = 
tworld->make_contact_point(pt, obA, obB);
broken = weakenCompound(obA, 
cp->contact_force, pt.getPositionWorldOnA(), fworld);
broken = broken || weakenCompound(obB, 
cp->contact_force, pt.getPositionWorldOnB(), fworld);
@@ -368,10 +367,15 @@ rbContactPoint* 
TickDiscreteDynamicsWorld::make_contact_point(btManifoldPoint& p
rbRigidBody* rbA = (rbRigidBody*)(bodyA->getUserPointer());
rbRigidBody* rbB = (rbRigidBody*)(bodyB->getUserPointer());
if (rbA)
-   cp->contact_body_indexA = rbA->linear_index;
+   {
+   cp->contact_islandA = rbA->meshIsland;
+   cp->contact_objectA = rbA->blenderOb;
+   }
 
-   if (rbB)
-   cp->contact_body_indexB = rbB->linear_index;
+   if (rbB) {
+   cp->contact_islandB = rbB->meshIsland;
+   cp->contact_objectB = rbB->blenderOb;
+   }
 
cp->contact_force = point.getAppliedImpulse();
copy_v3_btvec3(cp->contact_pos_world_onA, point.getPositionWorldOnA());
diff --git a/source/blender/blenkernel/BKE_fracture.h 
b/source/blender/blenkernel/BKE_fracture.h
index 4416824f0a9..1a9453be3d7 100644
--- a/source/blender/blenkernel/BKE_fracture.h
+++ b/source/blender/blenkernel/BKE_fracture.h
@@ -73,9 +73,6 @@ typedef struct FracPointCloud {
 } FracPointCloud;
 
 
-void BKE_fracture_dynamic_free(struct FractureModifierData *fmd,
-   bool do_free_sequence, bool do_free_rigidbody, 
struct Scene* scene);
-
 struct Mesh* BKE_fracture_prefractured_apply(struct FractureModifierData *fmd, 
struct Object *ob, struct Mesh *mesh,
  struct Depsgraph *depsgraph);
 
@@ -85,16 +82,16 @@ struct Mesh* BKE_fracture_external_apply(struct 
FractureModifierData *fmd, struc
 
 struct Mesh* 

[Bf-blender-cvs] [94b7f17180c] cycles_embree: Merge branch 'master' of git.blender.org:blender into cycles_embree

2018-08-14 Thread Stefan Werner
Commit: 94b7f17180c9a545db1b2a8d5dfcd52934d24cd0
Author: Stefan Werner
Date:   Thu Aug 2 16:23:26 2018 +0200
Branches: cycles_embree
https://developer.blender.org/rB94b7f17180c9a545db1b2a8d5dfcd52934d24cd0

Merge branch 'master' of git.blender.org:blender into cycles_embree

===



===



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


[Bf-blender-cvs] [97d4e3f0e73] cycles_embree: Cycles: Fixes for transparent shadows and SSS when using Embree.

2018-08-14 Thread Stefan Werner
Commit: 97d4e3f0e739423c542cd33d2a5de2ede32623b9
Author: Stefan Werner
Date:   Tue Aug 14 14:51:12 2018 +0200
Branches: cycles_embree
https://developer.blender.org/rB97d4e3f0e739423c542cd33d2a5de2ede32623b9

Cycles: Fixes for transparent shadows and SSS when using Embree.

===

M   intern/cycles/bvh/bvh_embree.cpp
M   intern/cycles/kernel/bvh/bvh.h

===

diff --git a/intern/cycles/bvh/bvh_embree.cpp b/intern/cycles/bvh/bvh_embree.cpp
index 75f69f67363..415f2e56559 100644
--- a/intern/cycles/bvh/bvh_embree.cpp
+++ b/intern/cycles/bvh/bvh_embree.cpp
@@ -59,7 +59,7 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* args)
   && !(kernel_data.curve.curveflags & CURVE_KN_BACKFACING)
   && !(kernel_data.curve.curveflags & CURVE_KN_RIBBONS) && hit->geomID 
& 1) {
if(dot(make_float3(ray->dir_x, ray->dir_y, ray->dir_z), 
make_float3(hit->Ng_x, hit->Ng_y, hit->Ng_z)) > 0.0f) {
-   hit->geomID = RTC_INVALID_GEOMETRY_ID;
+   *args->valid = 0;
return;
}
}
@@ -70,9 +70,20 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* args)
else if(ctx->type == CCLIntersectContext::RAY_SHADOW_ALL) {
/* Append the intersection to the end of the array. */
if(ctx->num_hits < ctx->max_hits) {
+   Intersection current_isect;
+   kernel_embree_convert_hit(kg, ray, hit, _isect);
+   for(size_t i = 0; i < ctx->max_hits; ++i) {
+   if(current_isect.object == 
ctx->isect_s[i].object &&
+  current_isect.prim == ctx->isect_s[i].prim &&
+  current_isect.t == ctx->isect_s[i].t) {
+   /* This intersection was already 
recorded, skip it. */
+   *args->valid = 0;
+   return;
+   }
+   }
Intersection *isect = >isect_s[ctx->num_hits];
ctx->num_hits++;
-   kernel_embree_convert_hit(kg, ray, hit, isect);
+   *isect = current_isect;
int prim = kernel_tex_fetch(__prim_index, isect->prim);
int shader = 0;
if(kernel_tex_fetch(__prim_type, isect->prim) & 
PRIMITIVE_ALL_TRIANGLE) {
@@ -86,10 +97,7 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* args)
/* If no transparent shadows, all light is blocked. */
if(flag & (SD_HAS_TRANSPARENT_SHADOW)) {
/* This tells Embree to continue tracing. */
-   hit->geomID = RTC_INVALID_GEOMETRY_ID;
-   }
-   else {
-   ctx->num_hits = ctx->max_hits+1;
+   *args->valid = 0;
}
}
else {
@@ -101,13 +109,13 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* 
args)
}
else if(ctx->type == CCLIntersectContext::RAY_SSS) {
/* No intersection information requested, just return a hit. */
-   if(ctx->ss_isect->num_hits == 0) {
+   if(ctx->max_hits == 0) {
return;
}
/* Only accept hits from the same object and triangles. */
if(hit->instID[0]/2 != ctx->sss_object_id || hit->geomID & 1) {
/* This tells Embree to continue tracing. */
-   hit->geomID = RTC_INVALID_GEOMETRY_ID;
+   *args->valid = 0;
return;
}
 
@@ -115,7 +123,7 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* 
args)
for(int i = min(ctx->max_hits, ctx->ss_isect->num_hits) - 1; i 
>= 0; --i) {
if(ctx->ss_isect->hits[i].t == ray->tfar) {
/* This tells Embree to continue tracing. */
-   hit->geomID = RTC_INVALID_GEOMETRY_ID;
+   *args->valid = 0;
return;
}
}
@@ -133,7 +141,7 @@ void rtc_filter_func(const RTCFilterFunctionNArguments* 
args)
 
if(hit_idx >= ctx->max_hits) {
/* This tells Embree to continue tracing. */
-   hit->geomID = RTC_INVALID_GEOMETRY_ID;
+   *args->valid = 0;
return;
}
}
@@ -144,15 +152,26 @@ void 

[Bf-blender-cvs] [d648501e280] blender2.8: BMesh: define suptype for bevel normals.out

2018-08-14 Thread Campbell Barton
Commit: d648501e28049d294a69b38d7267d33a8cf2d39e
Author: Campbell Barton
Date:   Tue Aug 14 22:26:19 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBd648501e28049d294a69b38d7267d33a8cf2d39e

BMesh: define suptype for bevel normals.out

Not doing this broke doc building.

===

M   source/blender/bmesh/intern/bmesh_opdefines.c

===

diff --git a/source/blender/bmesh/intern/bmesh_opdefines.c 
b/source/blender/bmesh/intern/bmesh_opdefines.c
index d9093e774e6..ef9c510aea1 100644
--- a/source/blender/bmesh/intern/bmesh_opdefines.c
+++ b/source/blender/bmesh/intern/bmesh_opdefines.c
@@ -1746,7 +1746,7 @@ static BMOpDefine bmo_bevel_def = {
{{"faces.out", BMO_OP_SLOT_ELEMENT_BUF, {BM_FACE}}, /* output faces */
 {"edges.out", BMO_OP_SLOT_ELEMENT_BUF, {BM_EDGE}}, /* output edges */
 {"verts.out", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT}}, /* output verts */
-{"normals.out", BMO_OP_SLOT_MAPPING},  /* 
output normals per vertex for beveled edges */
+{"normals.out", BMO_OP_SLOT_MAPPING,  
{(int)BMO_OP_SLOT_SUBTYPE_MAP_ELEM}}, /* output normals per vertex for beveled 
edges */
 {{'\0'}},
},

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


[Bf-blender-cvs] [3730839958c] blender2.8: Correct error in py doc generation

2018-08-14 Thread Campbell Barton
Commit: 3730839958c8e3a371eb5ebc7ab8578e45d825ab
Author: Campbell Barton
Date:   Tue Aug 14 22:18:24 2018 +1000
Branches: blender2.8
https://developer.blender.org/rB3730839958c8e3a371eb5ebc7ab8578e45d825ab

Correct error in py doc generation

===

M   doc/python_api/sphinx_doc_gen.py

===

diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
index 26cc3cda96b..0cbdc47f697 100644
--- a/doc/python_api/sphinx_doc_gen.py
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -808,8 +808,7 @@ def pymodule2sphinx(basepath, module_name, module, title):
 
 for submod_name, submod in submod_ls:
 submod_name_full = "%s.%s" % (module_name, submod_name)
-fw("   %s.rst\n" % submod_name_full)
-fw("\n")
+fw("   %s.rst\n\n" % submod_name_full)
 
 pymodule2sphinx(basepath, submod_name_full, submod, "%s 
submodule" % module_name)
 del submod_ls

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


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

2018-08-14 Thread Bastien Montagne
Commit: 1b5383854811f3aab842c9f10693fec57e28b07f
Author: Bastien Montagne
Date:   Tue Aug 14 14:10:47 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1b5383854811f3aab842c9f10693fec57e28b07f

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] [932251caea8] master: Fix object copying not ensuring validity of material arrays.

2018-08-14 Thread Bastien Montagne
Commit: 932251caea88b87bd65dd5c453dd3133457ffb1b
Author: Bastien Montagne
Date:   Tue Aug 14 13:35:51 2018 +0200
Branches: master
https://developer.blender.org/rB932251caea88b87bd65dd5c453dd3133457ffb1b

Fix object copying not ensuring validity of material arrays.

Related to T56363, this is not fixing the root of the bug, but ID
copying should always be a good occasion to ensure sanity of our data
(and error checking is always better than a crash!).

===

M   source/blender/blenkernel/intern/object.c

===

diff --git a/source/blender/blenkernel/intern/object.c 
b/source/blender/blenkernel/intern/object.c
index 86326655cfe..0cf2993133c 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1124,6 +1124,12 @@ void BKE_object_copy_data(Main *UNUSED(bmain), Object 
*ob_dst, const Object *ob_
ob_dst->matbits = MEM_dupallocN(ob_src->matbits);
ob_dst->totcol = ob_src->totcol;
}
+   else if (ob_dst->mat != NULL || ob_dst->matbits != NULL) {
+   /* This shall not be needed, but better be safe than sorry. */
+   BLI_assert(!"Object copy: non-NULL material pointers with zero 
counter, should not happen.");
+   ob_dst->mat = NULL;
+   ob_dst->matbits = NULL;
+   }
 
if (ob_src->iuser) ob_dst->iuser = MEM_dupallocN(ob_src->iuser);

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


[Bf-blender-cvs] [6eb5b418eee] master: Fix T56363: Blender crash when deleting a curve object.

2018-08-14 Thread Bastien Montagne
Commit: 6eb5b418eee8cb26ac0e3a8bb70cbaf706be4e4d
Author: Bastien Montagne
Date:   Tue Aug 14 14:05:09 2018 +0200
Branches: master
https://developer.blender.org/rB6eb5b418eee8cb26ac0e3a8bb70cbaf706be4e4d

Fix T56363: Blender crash when deleting a curve object.

Conversion code could leave object with inconsistent material data
compared to its new obdata.

Ideally, various conversion code would handle that properly, conserving
materials when possible, but for now at least ensure we get valid
result!

===

M   source/blender/editors/object/object_add.c

===

diff --git a/source/blender/editors/object/object_add.c 
b/source/blender/editors/object/object_add.c
index e977dea6140..8fc2d419c3c 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1903,6 +1903,9 @@ static int convert_exec(bContext *C, wmOperator *op)
continue;
}
 
+   /* Ensure new object has consistent material data with its new 
obdata. */
+   test_object_materials(bmain, newob, newob->data);
+
/* tag obdata if it was been changed */
 
/* If the original object is active then make this object 
active */

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


[Bf-blender-cvs] [a7db0defc86] fluid-mantaflow: updated some default values

2018-08-14 Thread Sebastián Barschkis
Commit: a7db0defc86aaf8c2966dabcfa7271ac30d8cafa
Author: Sebastián Barschkis
Date:   Tue Aug 14 13:39:03 2018 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBa7db0defc86aaf8c2966dabcfa7271ac30d8cafa

updated some default values

===

M   source/blender/blenkernel/intern/particle_system.c
M   source/blender/blenkernel/intern/smoke.c
M   source/blender/makesrna/intern/rna_smoke.c

===

diff --git a/source/blender/blenkernel/intern/particle_system.c 
b/source/blender/blenkernel/intern/particle_system.c
index 3aa18c138bc..e0535fd4916 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3883,6 +3883,7 @@ static void particles_manta_step(
part->totpart = tottypepart;
part->sta = part->end = 1.0f;
part->lifetime = sim->scene->r.efra + 1;
+   part->draw_col = PART_DRAW_COL_VEL;
 
/* allocate particles */
realloc_particles(sim, part->totpart);
diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index 815fcb7a0c6..163d5e1e9d2 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -474,7 +474,7 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
smd->domain->adapt_threshold = 0.02f;
 
/* fluid domain options */
-   smd->domain->maxres = 32;
+   smd->domain->maxres = 64;
smd->domain->solver_res = 3;
smd->domain->border_collisions = 0; // open domain
smd->domain->flags = FLUID_DOMAIN_USE_DISSOLVE_LOG | 
FLUID_DOMAIN_USE_ADAPTIVE_TIME;
diff --git a/source/blender/makesrna/intern/rna_smoke.c 
b/source/blender/makesrna/intern/rna_smoke.c
index cb98f984b72..416f17b6a26 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -481,11 +481,6 @@ static void rna_Smoke_domaintype_set(struct PointerRNA 
*ptr, int value)
SmokeDomainSettings *settings = (SmokeDomainSettings *)ptr->data;
Object *ob = (Object *)ptr->id.data;
 
-   /* Select all borders */
-   int borders = FLUID_DOMAIN_BORDER_FRONT & FLUID_DOMAIN_BORDER_BACK &
-   FLUID_DOMAIN_BORDER_RIGHT & 
FLUID_DOMAIN_BORDER_LEFT &
-   FLUID_DOMAIN_BORDER_TOP & 
FLUID_DOMAIN_BORDER_BOTTOM;
-
if (value != settings->type) {
/* Set common values for liquid/smoke domain: cache type, 
border collision and viewport drawtype. */
if (value == FLUID_DOMAIN_TYPE_GAS)
@@ -494,7 +489,12 @@ static void rna_Smoke_domaintype_set(struct PointerRNA 
*ptr, int value)
rna_Smoke_cachetype_data_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
rna_Smoke_cachetype_particle_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
rna_Smoke_cachetype_noise_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
-   rna_Smoke_collisionextents_set(ptr, borders, true);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_FRONT, 1);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_BACK, 1);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_RIGHT, 1);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_LEFT, 1);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_TOP, 1);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_BOTTOM, 1);
ob->dt = OB_WIRE;
}
else if (value == FLUID_DOMAIN_TYPE_LIQUID)
@@ -503,7 +503,12 @@ static void rna_Smoke_domaintype_set(struct PointerRNA 
*ptr, int value)
rna_Smoke_cachetype_data_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
rna_Smoke_cachetype_particle_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
rna_Smoke_cachetype_noise_set(ptr, 
FLUID_DOMAIN_FILE_UNI);
-   rna_Smoke_collisionextents_set(ptr, borders, false);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_FRONT, 0);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_BACK, 0);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_RIGHT, 0);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_LEFT, 0);
+   rna_Smoke_collisionextents_set(ptr, 
FLUID_DOMAIN_BORDER_TOP, 0);
+   rna_Smoke_collisionextents_set(ptr, 

[Bf-blender-cvs] [1f78e860703] blender2.8: Fix modifier operators not working from Python API as before.

2018-08-14 Thread Brecht Van Lommel
Commit: 1f78e8607033f64d2c9633517d3b921c61ff431c
Author: Brecht Van Lommel
Date:   Tue Aug 14 12:39:52 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1f78e8607033f64d2c9633517d3b921c61ff431c

Fix modifier operators not working from Python API as before.

The poll function required the modifier to be in the context, but these
operators also accept a "modifier" string property as well.

===

M   source/blender/editors/object/object_modifier.c

===

diff --git a/source/blender/editors/object/object_modifier.c 
b/source/blender/editors/object/object_modifier.c
index dcc2ce63a83..d16ba47b464 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -827,11 +827,6 @@ bool edit_modifier_poll_generic(bContext *C, StructRNA 
*rna_type, int obtype_fla
PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", rna_type);
Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
 
-   if (!ptr.data) {
-   CTX_wm_operator_poll_msg_set(C, "Context missing 'modifier'");
-   return 0;
-   }
-
if (!ob || ID_IS_LINKED(ob)) return 0;
if (obtype_flag && ((1 << ob->type) & obtype_flag) == 0) return 0;
if (ptr.id.data && ID_IS_LINKED(ptr.id.data)) return 0;

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


[Bf-blender-cvs] [5e696fdcd64] blender2.8: Multires: Begin hooking it up to the new subdiv code

2018-08-14 Thread Sergey Sharybin
Commit: 5e696fdcd646ca8643f617046a22da0a825f56d4
Author: Sergey Sharybin
Date:   Tue Aug 14 12:17:10 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB5e696fdcd646ca8643f617046a22da0a825f56d4

Multires: Begin hooking it up to the new subdiv code

Currently behaves same as subsurf, support of displacement is the
next task in the line to tackle!

===

M   source/blender/blenkernel/BKE_multires.h
M   source/blender/blenkernel/BKE_subdiv.h
M   source/blender/blenkernel/intern/multires.c
M   source/blender/blenkernel/intern/subdiv.c
M   source/blender/modifiers/intern/MOD_multires.c
M   source/blender/modifiers/intern/MOD_subsurf.c

===

diff --git a/source/blender/blenkernel/BKE_multires.h 
b/source/blender/blenkernel/BKE_multires.h
index 3a70e145744..08feaec6644 100644
--- a/source/blender/blenkernel/BKE_multires.h
+++ b/source/blender/blenkernel/BKE_multires.h
@@ -82,6 +82,8 @@ struct DerivedMesh *multires_make_derived_from_derived(struct 
DerivedMesh *dm,
 struct MultiresModifierData *find_multires_modifier_before(struct Scene *scene,
struct ModifierData 
*lastmd);
 struct MultiresModifierData *get_multires_modifier(struct Scene *scene, struct 
Object *ob, bool use_first);
+int multires_get_level(struct Scene *scene, struct Object *ob, const struct 
MultiresModifierData *mmd,
+   bool render, bool ignore_simplify);
 struct DerivedMesh *get_multires_dm(struct Depsgraph *depsgraph, struct Scene 
*scene, struct MultiresModifierData *mmd,
 struct Object *ob);
 void multiresModifier_del_levels(struct MultiresModifierData *mmd, struct 
Scene *scene, struct Object *object, int direction);
diff --git a/source/blender/blenkernel/BKE_subdiv.h 
b/source/blender/blenkernel/BKE_subdiv.h
index 03d765a154f..c4628cb9da7 100644
--- a/source/blender/blenkernel/BKE_subdiv.h
+++ b/source/blender/blenkernel/BKE_subdiv.h
@@ -111,6 +111,12 @@ typedef struct Subdiv {
SubdivStats stats;
 } Subdiv;
 
+/*  HELPERS = 
*/
+
+/* NOTE: uv_smooth is eSubsurfUVSmooth. */
+eSubdivFVarLinearInterpolation
+BKE_subdiv_fvar_interpolation_from_uv_smooth(int uv_smooth);
+
 /* === STATISTICS === 
*/
 
 void BKE_subdiv_stats_init(SubdivStats *stats);
diff --git a/source/blender/blenkernel/intern/multires.c 
b/source/blender/blenkernel/intern/multires.c
index bb261ec9590..ab0327652cd 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -337,8 +337,8 @@ MultiresModifierData *get_multires_modifier(Scene *scene, 
Object *ob, bool use_f
return mmd;
 }
 
-static int multires_get_level(Scene *scene, Object *ob, MultiresModifierData 
*mmd,
-  bool render, bool ignore_simplify)
+int multires_get_level(Scene *scene, Object *ob, const MultiresModifierData 
*mmd,
+   bool render, bool ignore_simplify)
 {
if (render)
return (scene != NULL) ? get_render_subsurf_level(>r, 
mmd->renderlvl, true) : mmd->renderlvl;
diff --git a/source/blender/blenkernel/intern/subdiv.c 
b/source/blender/blenkernel/intern/subdiv.c
index 207fdf43c55..4f630e8c38c 100644
--- a/source/blender/blenkernel/intern/subdiv.c
+++ b/source/blender/blenkernel/intern/subdiv.c
@@ -30,6 +30,7 @@
 #include "BKE_subdiv.h"
 
 #include "DNA_mesh_types.h"
+#include "DNA_modifier_types.h"
 
 #include "BLI_utildefines.h"
 
@@ -42,6 +43,27 @@
 #include "opensubdiv_evaluator_capi.h"
 #include "opensubdiv_topology_refiner_capi.h"
 
+eSubdivFVarLinearInterpolation
+BKE_subdiv_fvar_interpolation_from_uv_smooth(int uv_smooth)
+{
+   switch (uv_smooth) {
+   case SUBSURF_UV_SMOOTH_NONE:
+   return SUBDIV_FVAR_LINEAR_INTERPOLATION_ALL;
+   case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS:
+   return SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY;
+   case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_AND_JUNCTIONS:
+   return 
SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_AND_JUNCTIONS;
+   case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE:
+   return 
SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_JUNCTIONS_AND_CONCAVE;
+   case SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES:
+   return SUBDIV_FVAR_LINEAR_INTERPOLATION_BOUNDARIES;
+   case SUBSURF_UV_SMOOTH_ALL:
+   return SUBDIV_FVAR_LINEAR_INTERPOLATION_NONE;
+   }
+   BLI_assert(!"Unknown uv smooth flag");
+   return SUBSURF_UV_SMOOTH_NONE;
+}
+
 Subdiv *BKE_subdiv_new_from_converter(const SubdivSettings *settings,
 

[Bf-blender-cvs] [d7ae76fa35e] blender2.8: More helpful tooltip when trying to apply constructive modifiers on curves

2018-08-14 Thread Pablo Vazquez
Commit: d7ae76fa35e6dbc3aefdd0d4c431591f84982171
Author: Pablo Vazquez
Date:   Tue Aug 14 12:06:04 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBd7ae76fa35e6dbc3aefdd0d4c431591f84982171

More helpful tooltip when trying to apply constructive modifiers on curves

Suggested by user aa311

===

M   source/blender/editors/object/object_modifier.c

===

diff --git a/source/blender/editors/object/object_modifier.c 
b/source/blender/editors/object/object_modifier.c
index 43f651b0532..dcc2ce63a83 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -630,7 +630,7 @@ static int modifier_apply_obdata(ReportList *reports, 
Depsgraph *depsgraph, Scen
ModifierEvalContext mectx = {depsgraph, ob, 0};
 
if (ELEM(mti->type, eModifierTypeType_Constructive, 
eModifierTypeType_Nonconstructive)) {
-   BKE_report(reports, RPT_ERROR, "Cannot apply 
constructive modifiers on curve");
+   BKE_report(reports, RPT_ERROR, "Transform curve to mesh 
in order to apply constructive modifiers");
return 0;
}

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


[Bf-blender-cvs] [02dbe3b0c78] blender2.8: Multires: Synchronize settings with Subsurf modifier

2018-08-14 Thread Sergey Sharybin
Commit: 02dbe3b0c78045abb49a32c562933b621f3aa0b1
Author: Sergey Sharybin
Date:   Tue Aug 14 11:45:26 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB02dbe3b0c78045abb49a32c562933b621f3aa0b1

Multires: Synchronize settings with Subsurf modifier

Currently no functional changes, just exposes all settings which we need
for OpenSubdiv, similar to what Subsurf modifier is doing already.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3602

===

M   release/scripts/startup/bl_ui/properties_data_modifier.py
M   source/blender/blenkernel/intern/multires.c
M   source/blender/blenloader/intern/versioning_280.c
M   source/blender/editors/object/object_bake_api.c
M   source/blender/makesdna/DNA_modifier_types.h
M   source/blender/makesrna/intern/rna_modifier.c
M   source/blender/modifiers/intern/MOD_multires.c

===

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py 
b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 5dfd8994ed4..f865a7f7226 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -613,6 +613,8 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 col.prop(md, "levels", text="Preview")
 col.prop(md, "sculpt_levels", text="Sculpt")
 col.prop(md, "render_levels", text="Render")
+if hasattr(md, "quality"):
+col.prop(md, "quality")
 
 col = split.column()
 
@@ -621,7 +623,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 col.operator("object.multires_higher_levels_delete", text="Delete 
Higher")
 col.operator("object.multires_reshape", text="Reshape")
 col.operator("object.multires_base_apply", text="Apply Base")
-col.prop(md, "use_subsurf_uv")
+col.prop(md, "uv_smooth", text="")
 col.prop(md, "show_only_control_edges")
 
 layout.separator()
diff --git a/source/blender/blenkernel/intern/multires.c 
b/source/blender/blenkernel/intern/multires.c
index 0774d65182f..bb261ec9590 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -884,7 +884,7 @@ void multiresModifier_base_apply(MultiresModifierData *mmd, 
Scene *scene, Object
/* subdivide the mesh to highest level without displacements */
cddm = CDDM_from_mesh(me);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
-   origdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 0, 0, 
mmd->flags & eMultiresModifierFlag_PlainUv, 0, false);
+   origdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 0, 0, 
mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, 0, false);
cddm->release(cddm);
 
/* calc disps */
@@ -925,7 +925,7 @@ static void multires_subdivide(
/* create subsurf DM from original mesh at high level */
cddm = CDDM_from_mesh(me);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
-   highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 
simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, has_mask, false);
+   highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 
simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, has_mask, false);
ss = ((CCGDerivedMesh *)highdm)->ss;
 
/* create multires DM from original mesh at low level */
@@ -1246,7 +1246,7 @@ void multires_modifier_update_mdisps(struct DerivedMesh 
*dm, Scene *scene)
else cddm = CDDM_from_mesh(me);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
 
-   highdm = subsurf_dm_create_local(scene, ob, cddm, 
totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, has_mask, 
false);
+   highdm = subsurf_dm_create_local(scene, ob, cddm, 
totlvl, mmd->simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, has_mask, 
false);
ss = ((CCGDerivedMesh *)highdm)->ss;
 
/* create multires DM from original mesh and 
displacements */
@@ -1308,7 +1308,7 @@ void multires_modifier_update_mdisps(struct DerivedMesh 
*dm, Scene *scene)
else cddm = CDDM_from_mesh(me);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
 
-   subdm = subsurf_dm_create_local(scene, ob, cddm, 
mmd->totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, 
has_mask, false);
+   subdm = subsurf_dm_create_local(scene, ob, cddm, 
mmd->totlvl, mmd->simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, 
has_mask, false);
cddm->release(cddm);
 
multiresModifier_disp_run(dm, me, NULL, 
CALC_DISPLACEMENTS, subdm->getGridData(subdm), 

[Bf-blender-cvs] [e25fdb6a795] blender2.8: Splash: sorting and cleanup

2018-08-14 Thread Pablo Vazquez
Commit: e25fdb6a795db3d3f6af864496af723599abdd34
Author: Pablo Vazquez
Date:   Tue Aug 14 11:59:48 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBe25fdb6a795db3d3f6af864496af723599abdd34

Splash: sorting and cleanup

* http -> https
* Release Logs -> Release Notes
* Match number of items on both sides by adding a separator
* Remove Python API Reference link since it's already under Help
when Developer Extras is enabled.

===

M   source/blender/windowmanager/intern/wm_operators.c

===

diff --git a/source/blender/windowmanager/intern/wm_operators.c 
b/source/blender/windowmanager/intern/wm_operators.c
index c1efce45e03..299624bc50b 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -1570,24 +1570,17 @@ static uiBlock *wm_block_create_splash(bContext *C, 
ARegion *ar, void *UNUSED(ar
uiItemL(col, IFACE_("Links"), ICON_NONE);
uiItemStringO(col, IFACE_("Join the Development Fund"), ICON_URL, 
"WM_OT_url_open", "url",
  "https://www.blender.org/foundation/development-fund/;);
-   uiItemStringO(col, IFACE_("Donations"), ICON_URL, "WM_OT_url_open", 
"url",
- "http://www.blender.org/foundation/donation-payment/;);
-   uiItemStringO(col, IFACE_("Credits"), ICON_URL, "WM_OT_url_open", "url",
- "http://www.blender.org/about/credits/;);
-   BLI_snprintf(url, sizeof(url), 
"https://wiki.blender.org/wiki/Reference/Release_Notes/%d.%d;,
-BLENDER_VERSION / 100, BLENDER_VERSION % 100);
-   uiItemStringO(col, IFACE_("Release Log"), ICON_URL, "WM_OT_url_open", 
"url", url);
+   uiItemStringO(col, IFACE_("Donate"), ICON_URL, "WM_OT_url_open", "url",
+ "https://www.blender.org/foundation/donation-payment/;);
+   uiItemS(col);
uiItemStringO(col, IFACE_("Manual"), ICON_URL, "WM_OT_url_open", "url",
  "https://docs.blender.org/manual/en/dev/;);
-   uiItemStringO(col, IFACE_("Blender Website"), ICON_URL, 
"WM_OT_url_open", "url", "http://www.blender.org;);
-   if (STREQ(STRINGIFY(BLENDER_VERSION_CYCLE), "release")) {
-   BLI_snprintf(url, sizeof(url), 
"https://docs.blender.org/api/%d.%d"STRINGIFY(BLENDER_VERSION_CHAR),
-BLENDER_VERSION / 100, BLENDER_VERSION % 100);
-   }
-   else {
-   BLI_snprintf(url, sizeof(url), 
"https://docs.blender.org/api/master;);
-   }
-   uiItemStringO(col, IFACE_("Python API Reference"), ICON_URL, 
"WM_OT_url_open", "url", url);
+   BLI_snprintf(url, sizeof(url), 
"https://wiki.blender.org/wiki/Reference/Release_Notes/%d.%d;,
+BLENDER_VERSION / 100, BLENDER_VERSION % 100);
+   uiItemStringO(col, IFACE_("Release Notes"), ICON_URL, "WM_OT_url_open", 
"url", url);
+   uiItemStringO(col, IFACE_("Blender Website"), ICON_URL, 
"WM_OT_url_open", "url", "https://www.blender.org;);
+   uiItemStringO(col, IFACE_("Credits"), ICON_URL, "WM_OT_url_open", "url",
+ "https://www.blender.org/about/credits/;);
uiItemL(col, "", ICON_NONE);
 
col = uiLayoutColumn(split, false);

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


[Bf-blender-cvs] [7aa1c544f73] soc-2018-npr: Fix opensubdiv error when not enabled WITH_OPENSUBDIV

2018-08-14 Thread Nick Wu
Commit: 7aa1c544f73e430ee50849cabd31a59b5acbf4de
Author: Nick Wu
Date:   Tue Aug 14 16:20:19 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7aa1c544f73e430ee50849cabd31a59b5acbf4de

Fix opensubdiv error when not enabled WITH_OPENSUBDIV

===

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

===

diff --git a/source/blender/modifiers/intern/MOD_mybmesh.c 
b/source/blender/modifiers/intern/MOD_mybmesh.c
index 8664de40206..f7fa77be8d1 100644
--- a/source/blender/modifiers/intern/MOD_mybmesh.c
+++ b/source/blender/modifiers/intern/MOD_mybmesh.c
@@ -4148,8 +4148,6 @@ static Mesh *mybmesh_do(Mesh *mesh, MyBMeshModifierData 
*mmd, float cam_loc[3])
return result;
 }
 
-#endif /* WITH_OPENSUBDIV */
-
 /* MyBMesh */
 static void initData(ModifierData *md)
 {
@@ -4167,6 +4165,8 @@ static void freeData(ModifierData *md)
}
 }
 
+#endif /* WITH_OPENSUBDIV */
+
 static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
Mesh *mesh)
 {

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


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

2018-08-14 Thread Campbell Barton
Commit: ccc8d2ab42751b44eb54640842630354ff3902f9
Author: Campbell Barton
Date:   Tue Aug 14 17:41:19 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBccc8d2ab42751b44eb54640842630354ff3902f9

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] [644e2b3ffd2] blender2.8: Cleanup: missed const change in recent merge

2018-08-14 Thread Campbell Barton
Commit: 644e2b3ffd238ea40298f7fdc3bb280f3d0f22eb
Author: Campbell Barton
Date:   Tue Aug 14 17:41:01 2018 +1000
Branches: blender2.8
https://developer.blender.org/rB644e2b3ffd238ea40298f7fdc3bb280f3d0f22eb

Cleanup: missed const change in recent merge

===

M   source/blender/editors/physics/particle_edit.c

===

diff --git a/source/blender/editors/physics/particle_edit.c 
b/source/blender/editors/physics/particle_edit.c
index e722173bcfa..6ce3e7c06c6 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -413,7 +413,7 @@ typedef struct PEData {
RNG *rng;
 
const int *mval;
-   rcti *rect;
+   const rcti *rect;
float rad;
float dist;
float dval;

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


[Bf-blender-cvs] [73234a91226] master: Cleanup: vpaint face select de-selected twice

2018-08-14 Thread Campbell Barton
Commit: 73234a9122666035592a8733f0df73beaf2e2a2d
Author: Campbell Barton
Date:   Tue Aug 14 17:37:59 2018 +1000
Branches: master
https://developer.blender.org/rB73234a9122666035592a8733f0df73beaf2e2a2d

Cleanup: vpaint face select de-selected twice

===

M   source/blender/editors/mesh/editface.c

===

diff --git a/source/blender/editors/mesh/editface.c 
b/source/blender/editors/mesh/editface.c
index 899f1924222..d497a073f77 100644
--- a/source/blender/editors/mesh/editface.c
+++ b/source/blender/editors/mesh/editface.c
@@ -414,12 +414,6 @@ int do_paintface_box_select(ViewContext *vc, rcti *rect, 
bool select, bool exten
 
if (extend == false && select) {
paintface_deselect_all_visible(vc->obact, SEL_DESELECT, false);
-
-   mpoly = me->mpoly;
-   for (a = 1; a <= me->totpoly; a++, mpoly++) {
-   if ((mpoly->flag & ME_HIDE) == 0)
-   mpoly->flag &= ~ME_FACE_SEL;
-   }
}
 
ED_view3d_backbuf_validate(vc);

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


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

2018-08-14 Thread Campbell Barton
Commit: 7ed6de3951271b10b354c7f0ed82891b768b108e
Author: Campbell Barton
Date:   Tue Aug 14 17:12:41 2018 +1000
Branches: blender2.8
https://developer.blender.org/rB7ed6de3951271b10b354c7f0ed82891b768b108e

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] [2044ee00c21] master: Correct vpaint vertex circle select

2018-08-14 Thread Campbell Barton
Commit: 2044ee00c211cef95455d1fa5c3bd88a9c68c569
Author: Campbell Barton
Date:   Tue Aug 14 17:01:31 2018 +1000
Branches: master
https://developer.blender.org/rB2044ee00c211cef95455d1fa5c3bd88a9c68c569

Correct vpaint vertex circle select

Would run validate when not needed.

===

M   source/blender/editors/space_view3d/view3d_select.c

===

diff --git a/source/blender/editors/space_view3d/view3d_select.c 
b/source/blender/editors/space_view3d/view3d_select.c
index 12eb2fc0f2b..d8c21da48a4 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -2495,7 +2495,7 @@ static void paint_vertsel_circle_select(ViewContext *vc, 
const bool select, cons
meshobject_foreachScreenVert(vc, 
paint_vertsel_circle_select_doSelectVert, , V3D_PROJ_TEST_CLIP_DEFAULT);
}
 
-   if (select != LEFTMOUSE) {
+   if (select == false) {
BKE_mesh_mselect_validate(me);
}
paintvert_flush_flags(ob);

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