[Bf-blender-cvs] [f7c1716b6cb] blender2.8: Merge branch 'master' into blender2.8
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
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
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'
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
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.
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
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
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
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
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.
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
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
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
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.
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.
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.
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.
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
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
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
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.
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
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.
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
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.
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
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)
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
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.
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
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
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
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.
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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