Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-16Merge branch 'master' into soc-2018-nprYimingWu
2019-05-08Fix T64274: Crash with more than 1 subdivision with the Multiresolution ModifierSergey Sharybin
Update more relevant fields in the sculpt session. Really becoming annoying, but was also annoying in the old code as well.
2019-05-06Merge branch 'master' into soc-2018-nprYimingWu
2019-05-01Alembic: integrate cache file into the dependency graphBrecht Van Lommel
* The cache file datablock is now evaluated as part of the dependency graph, creating/freeing the Alembic file handle matching the current frame. Modifiers and constraints depend on this evaluation. * Cache file handles and readers now only exist on COW datablocks, never the original ones. * Object data paths are flushed back to the original for the user interface. * The cache file keeps a list of all readers associated with its handle, and automatically frees them when the handle is freed. This kind of sharing of data across datablocks is weak but we have no better mechanism for it. Fix T62720: Alembic sequences not working and crashing Differential Revision: https://developer.blender.org/D4774
2019-05-01Cleanup: comments (long lines) in modifiersCampbell Barton
Also remove duplicate comments in headers.
2019-05-01Cleanup: indentation from braces in '#if 0'Campbell Barton
2019-04-29Fix T59848: precisely represent the dependencies of Armature modifier.Alexander Gavrilov
When the modifier uses vertex groups, the set of the bones it actually needs is precisely defined by the set of the group names. If envelopes are enabled, this refinement is not available, because any bone can potentially be used. This can be used in the dependency graph construction to allow objects deformed by a part of the armature to be used in constraints on other bones, e.g. for placing cartoon-style face elements on top of the body mesh via Shrinkwrap constraints. Since the list of vertex group names is now used as an input by the dependency graph, adding/removing/renaming groups should now be triggering a graph rebuild. Differential Revision: https://developer.blender.org/D4715
2019-04-24Cleanup: sort CMake include pathsCampbell Barton
2019-04-24Merge branch 'master' into soc-2018-nprYiming Wu
# Conflicts: # source/blender/blenloader/intern/readfile.c
2019-04-22Cleanup: style, use braces for modifiersCampbell Barton
2019-04-20Merge branch 'master' into soc-2018-npr Fix errorsYiming Wu
# Conflicts: # intern/opensubdiv/internal/opensubdiv_evaluator.cc # intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc # release/scripts/startup/bl_ui/properties_data_modifier.py # source/blender/CMakeLists.txt # source/blender/blenkernel/intern/scene.c # source/blender/blenloader/intern/readfile.c # source/blender/blenloader/intern/versioning_280.c # source/blender/blenloader/intern/writefile.c # source/blender/bmesh/intern/bmesh_polygon.c # source/blender/draw/CMakeLists.txt # source/blender/draw/intern/draw_manager.c # source/blender/draw/modes/object_mode.c # source/blender/editors/mesh/editmesh_tools.c # source/blender/editors/mesh/mesh_ops.c # source/blender/editors/render/render_intern.h # source/blender/editors/render/render_ops.c # source/blender/editors/space_outliner/outliner_draw.c # source/blender/editors/space_view3d/space_view3d.c # source/blender/makesdna/DNA_light_types.h # source/blender/makesdna/DNA_modifier_types.h # source/blender/makesdna/DNA_scene_types.h # source/blender/makesdna/intern/makesdna.c # source/blender/makesrna/intern/CMakeLists.txt # source/blender/makesrna/intern/makesrna.c # source/blender/makesrna/intern/rna_modifier.c # source/blender/makesrna/intern/rna_scene.c # source/blender/modifiers/CMakeLists.txt # source/blender/modifiers/intern/MOD_util.c
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-18Cleanup: indentation from braces in '#if 0'Campbell Barton
2019-04-18Cleanup: comment blocksCampbell Barton
2019-04-17ClangFormat: format '#if 0' codeCampbell Barton
Previous cleanups didn't account for space after '#'.
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16CMake: add library deps to CMakeLists.txtCampbell Barton
Tested to work on Linux and macOS. This will be enabled once all platforms are verified. See D4684
2019-04-16CMake: cleanup, arg rename, add definitions lastCampbell Barton
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-04-12Merge branch 'master' into soc-2018-nprYiming Wu
2019-04-05Fix T63283: Second subdivision modifier does not ignore creaseSergey Sharybin
This is something where there is no single correct behavior, sometimes it's needed to ignore the crease to make mesh more smooth. But sometimes crease is to be considered after first subdivision surface: for example, when adding extra subdivisions for render-time displacement. Made it an option whether modifier needs to take crease into account or not. Existing files should be openable in the 2.7 compatible way, to re-create an old behavior the options is to be manually disabled in the modifier settings. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4652
2019-04-04Fix modifier apiYiming Wu
2019-04-04Fix T63252: Bind in Mesh Deform Modifier failsSergey Sharybin
A regression since 64c8d72ef1ad. The solution is to force modifier evaluation for an evaluated object, and let it to copy binding data back to original when is being evaluated for binding. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4642
2019-04-04Fix errorsYiming Wu
2019-04-04Merge remote-tracking branch 'origin/master' into soc-2018-nprYiming Wu
# Conflicts: # release/datafiles/locale # release/scripts/addons # release/scripts/addons_contrib # release/scripts/startup/bl_ui/properties_scene.py # source/blender/draw/intern/draw_manager_texture.c # source/blender/makesdna/DNA_scene_types.h # source/blender/makesrna/intern/rna_scene.c # source/tools
2019-04-04Fix: Erratic collision response when using constraints on collidersBenjamin Meyer
Missing dependency, which made collission to access object transform prior it was evaluated. Reviewers: sergey Differential Revision: https://developer.blender.org/D4636
2019-04-03Multires: Make topology cache to work with copy-on-writeSergey Sharybin
Allows to preserve topology cache even when copy-on-write is fully re-copying the object. For example, toggling edit mode in and out does no longer causes full topology to be re-created.
2019-04-01Modifiers: Use object passed to evaluationSergey Sharybin
This was wrong and violating design to force modifiers to query evaluated objects and IDs. It is up to the caller to make sure the object is properly evaluatable. Effectively, reverting changes from de491abf9962 (and possibly other related changes).
2019-03-30Cleanup: remove unused modifier methods.Brecht Van Lommel
2019-03-29Fix T63063: solidify modifier crash after recent changes.Brecht Van Lommel
It should not assume there to be an origindex layer. Checked other modifiers and they all seem to explicitly create it or verify if it's NULl.
2019-03-28Fix part of T60735: invalid CD_ORIGINDEX data in some modifier stack ↵Brecht Van Lommel
evaluations. BKE_mesh_new_nomain automatically added a CD_ORIGINDEX layer initialized to 0, which was never filled in correctly. In 2.7 the equivalent function used to modify the source derivedmesh and add valid original indices to it, but this is no longer possible in the new design and was quite unpredictable anyway. Now instead rely on mesh_calc_modifiers and the depsgraph to determine when CD_ORIGINDEX should be added.
2019-03-22Modifiers: add minimum number of vertices to triangulate modifier.Ish Bosamiya
This lets you only triangulate n-gons when setting the number to 5 or more. Differential Revision: https://developer.blender.org/D4367
2019-03-20Fix DEG warning from T52873: Proximity WeightVG modifier can use empty as ↵Bastien Montagne
target too. Only create DEG_OB_COMP_GEOMETRY relation to target object when it has some, and we use it.
2019-03-20Fix T61759: Dynamic paint smudge crashSergey Sharybin
The issue was caused by mesh needed for dynamic paint brush being stored in the modifier. That make it to be freed and set to NULL when running copy-on-write. Solved by moving the mesh to be stored in modifier's runtime data.
2019-03-19Cleanup: use BLI_kdtree_3d prefixCampbell Barton
Use prefix now there isn't only the 3d version.
2019-03-18Subdiv: Enable topology cache in edit modeSergey Sharybin
The general idea of this change is to have a runtime data pointer in the ModifierData, so it can be preserved through copy-on-write updates by the dependency graph. This is where subdivision surface modifier can store its topology cache, so it is not getting trashed on every copy-on-write which is happening when moving a vertex. Similar mechanism should be used by multiresolution, dynamic paint and some other modifiers which cache evaluated data. This fixes T61746. Thing to keep in mind, that there are more reports about slow subdivision surface in the tracker, but that boils down to the fact that those have a lot of extraordinary vertices, and hence a lot slower to evaluated topology. Other thing is, this speeds up oeprations which doesn't change topology (i.e. moving vertices). Reviewers: brecht Reviewed By: brecht Maniphest Tasks: T61746 Differential Revision: https://developer.blender.org/D4541
2019-03-17Cleanup: redundant layer accessCampbell Barton
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-03-14Fix T62528: data transfer modifier error.Bastien Montagne
Stupid mistake in previous 'fixing' commit, I put the call computing extra required source cddata masks into the callback used to get destination (current object) cddata masks...
2019-03-08Fix (unreported) datatransfer code could still modify source mesh in some cases.Bastien Montagne
Source (i.e. other) mesh should not be modified in any case in modifier evaluation case (this is forbidden by design and can lead to all kind of threaded locks and crashes), and doing so even in operator case was never a good idea either. Now that we can specifically request needed data (poly and/or loop normals) from evaluation code, we can finally get rid of those computations inside data transfer/mesh remapping area. This is hopefully the last remaining bit of this 'bad crashing code' in datatransfer area.
2019-03-08Merge branch 'master' into soc-2018-nprYiming Wu
# Conflicts: # release/datafiles/locale # release/scripts/addons # release/scripts/addons_contrib # source/blender/draw/intern/DRW_render.h # source/blender/makesdna/DNA_light_types.h # source/blender/makesdna/DNA_scene_types.h # source/blender/makesrna/intern/rna_scene.c # source/tools
2019-03-08Cleanup: styleCampbell Barton
2019-03-07Multires: Fix crash on exit when sculpting with modifiersSergey Sharybin
The SubdivCCG structure was re-allocated, but the cached one in the sculpt session was still pointing to an original one. This is rather a workaround, but is least evil from what i can currently think. Remember something similar was also required in 2.7 as well. Definitely need to revision this change.
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-03-01Fix T62075: Edges generated by solidify modifier does not appearClément Foucault
This was a missing flag.
2019-02-28Cleanup/refactor clnor code: add high-level helpers to set custom normals.Bastien Montagne
Now it will be simpler for code jsut wanting to preserve custom normals around to set them, without having to add same boiler plate code all the time around actual code.
2019-02-28Fix (unreported) assert in modifier evaluation of weighted normals.Bastien Montagne
Currently modifier stack assumes there are no poly normals data passed around, so in case a modifier generates such data, it has to clean it up after usage. Whole handling of normals is a bit annoying and week currently, we can probably enhance that once fully per-mesh item type cddata masks are in?
2019-02-28'Fix' T61942: Triangulate modifier breaks custom normals.Bastien Montagne
Not a bug, but supporting preservation of custom normals in that specific modifier makes sense, in game pipeline contexts. Could also ease work of IO add-ons that want to export triangulated geometry...
2019-02-26Cleanup: use 'poly' for polygons-related data, not 'face'.Bastien Montagne
In Blender face is for tesselated faces, that kind of miss-naming is a pretty good way to shoot yourself in the foot at some point or another (see T61979)...