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-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-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)...
2019-02-26Fix T61979: Solidify not working in Blender 2.8.Bastien Montagne
Broken logic in rB181356edba04, thanks most likely to stupid naming (face in Blender is for tessellated faces, use poly for BMesh polygons). Cleanup to follow in next commit...
2019-02-26Bevel mod: cleanup flags and extra data.Howard Trickey
Removed a clnors field unneeded after a recent refactor. Finished deprecation of flags that haven't been used since pre-bmesh.
2019-02-25Cleanup: finish modifiers' hearder re-order from rBe31f0fad9744c813.Bastien Montagne
For some reason forgot to handle half of modifier files...
2019-02-25Cleanup: order of modifiers' headers includes.Bastien Montagne
BLI should always comes first, before DNA, BKE etc. And `BLI_utildefines.h` should come before any other BLI (since it's some sort of system include really, among other things...). Thisi should help to reduce the noise in patches when adding stuff like uint64_t members to DNA structs... ;)
2019-02-22Multires: Fix ownership problem causing crashesSergey Sharybin
Fixes crash when leaving multires mode. Fixes T61836: Saving while in multires makes blender crash
2019-02-21Subdiv: Enable topology cache for animationSergey Sharybin
This commit makes it so both Subdivision Surface and Multiresolution modifiers are caching OpenSubdiv topology. This cuts down evaluation time quite a bit, especially for meshes which don't have many extra ordinary verticies. Only working for animation. Other modifications like edit mode needs more work to make topology cache preserved by copy-on-write.
2019-02-20Comment: clarify reason for using scale as sizeCampbell Barton
2019-02-18DNA: rename Object.size -> scaleCampbell Barton
Resolves a common cause of confusion.
2019-02-18doxygen: update doxygen & add balembic groupCampbell Barton
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-17Cleanup: rename Mesh.edit_btmesh -> edit_meshCampbell Barton
When bmesh was in a branch we had both edit_mesh and edit_btmesh, now there is no reason to use this odd name.
2019-02-12Modifiers: Make Difference default operation for boolean modifier.Bastien Montagne
Make Difference a default value for boolean modifier operation property. Currently operation property of the boolean modifier is set to Intersect, which is the least frequently used boolean operation of the three available. It is also goes out of sync with Intersect (Boolean) tool, where Difference is a default operation. Reviewers: mont29, brecht, sergey Reviewed By: mont29, brecht, sergey Subscribers: mont29, brecht, campbellbarton, sergey, billreynish Tags: #modifiers Differential Revision: https://developer.blender.org/D4340
2019-02-12Weight modifiers: Remove weird looking dependencySergey Sharybin
Modifiers are part of geometry component, no way they can be dependent on the geometry component of the same object.
2019-02-12Depsgraph: Add utility function for transform dependencySergey Sharybin
This is what modifiers are to use to indicate that they depend on a transformation of the object itself. Currently should be no functional changes, but in the future this will allow to easily change transform operation depending on whether there is a simulation associated with the object.
2019-02-12Fix fur on Spring charactersSergey Sharybin
There is an issue of hair being completely messed up when switching to a simulation view layer for Autumn. Restoring back the code which was re-setting particles on file load. This will re-set unbacked particles on file load but this appears to be happening in 2.7 as well. Can not reproduce bugs which were fixed in this area recently, so maybe it's finally tackled (fingers crossed!).
2019-02-11Fix T61391: MeshDeform Modifier does not work on a solidified planar mesh.Bastien Montagne
`BKE_modifier_get_evaluated_mesh_from_evaluated_object()` used by modifiers needing access to other objects' geometry probably skipped out of the radar when cage and final evaluated meshes were added to BMEditMesh? In any case, we do not need to duplicate (and then free!) a temp mesh from editdata anymore, and we can even add instead a parameter to get cage instead of final. Also makes modifiers code a bit simpler.
2019-02-11Fix T61185: Missing modifiers update on changes to texturePhilipp Oeser
Also update relations when modifier texture changes. Basically same as rB6e00415a85a9, rBca2680aaeb1 but this time for VertexWeight modifiers Reviewers: sergey Maniphest Tasks: T61185 Differential Revision: https://developer.blender.org/D4305
2019-02-08Fix T59339: Particle render without baking issuesSergey Sharybin
Fix T61289: Emitting particles from instances not working properly The first issue has been re-introduced by a code which was dealing with missing hair after opening the file. That was re-setting all particle systems all the time because modifier flags were not copied back to original. This made every modifier run to be seem as an initial file open. Now we copy flags back to an original modifier. But also we are trying to not do any resets unless needed in that case. This way we can preserve in-memory caches. Other part of the change is related on re-setting particle system if number of mesh elements changed. But we only do it if the modifier has been already evaluated once.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-05BKE_library: id_copy: More general usage of LIB_ID_COPY_LOCALIZE.Bastien Montagne
Turns out most of our 'local working copy' cases can use same set of flags. Note that this commit adds LIB_ID_COPY_CACHES to all our local meshes copying, however this is no-op since that flag is unused during mesh copying... We may want to add another set of flags without that one at some point, but for now it would not be useful imho.
2019-02-05Cleanup: BKE_library: remove 'test' param of id_copy.Bastien Montagne
This was used in *one* place only... much better to have a dedicated helper for that kind of things. ;)
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Workaround for missing hair after opening the fileSergey Sharybin
Restore reset on file open, at least for now.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-31Fix T61046: Object with cloth jumps aroundSergey Sharybin
Was happening due to missing relation from geometry to transform component. Did not happen in old dependency graph because that one could never evaluate geometry prior to transform.
2019-01-31Fix T59339: Particle render without baking issuesSergey Sharybin
The issue was caused by dependency graph resetting particles when evaluating copy-on-write version of object. Solved by only doing reset from dependency graph on user edits. Other issue was caused by modifier itself trying to compare topology and reset particles when number of vertices or faces changed. This isn't reliable, since topology might change even with same number of elements. But also, since copy-on-written object initially always have those fields zero-ed the reset was happening on every F12. The latter issue is solved by moving reset from modifier stack to places where we exit edit/paint modes which might be changing topology. There is still weird issue of particles generated at some weird location after tapping tab twice, but this is not a new issue in 2.8 branch and is to be looked separately.
2019-01-30Cleanup: Unused function argumentSergey Sharybin
2019-01-29Fix T60067: some modifiers don't use shape keys correctlyJacques Lucke
2019-01-28Fix several missing cases of copy func for modifiers.Bastien Montagne
Any time a modifier data has non-ID pointer, it should have own copy function (and also take care of proper init/reset in its init callback).
2019-01-28Fix T60840: Serious memleak in solidify modifier.Bastien Montagne
Another one painful to pin down, due to misleading info in report, and more than anything else, waaayyyyy too complex example file!
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-26Fix build error after recent cleanup.Brecht Van Lommel
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-26Cleanup: redundant definesCampbell Barton
Comment or remove unused defines.
2019-01-25Cleanup: sort cmake file listsCampbell Barton
2019-01-23License: add missing GPL headersCampbell Barton
Information taken from related files committed at the time.