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-08-05Fix T68211: Transfer Mesh Data with Custom Normal crash when Auto Smooth is ↵Bastien Montagne
enabled. Code in modifier stack ensuring requested CDLayers are provided was not working very well for polynors in several cases: * We cannot share the orig mesh if we have to generate pnors/lnors; * Generating pnors without lnors was not possible.
2019-06-13Mesh: don't compute CD_ORCO layer when there are no deforming modifiersBrecht Van Lommel
This saves memory and evaluation time for simple static meshes with e.g. a subdivision surface modifier. If no CD_ORCO layer exists then we assume the actual vertex coordinates are equal to the original undeformed coordinates.
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-05Cleanup: Remove unused argumentSergey Sharybin
2019-05-31Fix various missing updates in sculpt mode, when changing modifiers and dyntopoBrecht Van Lommel
This restores the code that updates the sculpt session and PBVH from dependency graph evaluation.
2019-05-31Fix T65285: Crash with Object.to_mesh() in certain conditionsSergey Sharybin
Was happening when modifier stack detected that mesh is not deformed and is not modified and attempted to share result across multiple objects. This was introduced in 2f77119. Now functions which are supposed to return mesh owned by caller will do so again. Shouldn't be a huge impact on memory print since the data layers are referenced.
2019-05-29Fix T58251: Cycles ignores linked meshes when renderingSergey Sharybin
The idea is to share a mesh data-block as a result across all objects which are sharing same original mesh and have no effective modifiers. This mesh is owned by an original copy-on-written version of object data. Tricky part is to make sure it is only initialized once, and currently a silly mutex lock is used. In practice it only locks if the mesh is not already there. As an extra bonus, even viewport memory is also lower after this change. Reviewers: brecht, mont29 Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D4954
2019-05-27Depsgraph: Fix condition inverted by mistakeSergey Sharybin
Fixes T65165: Weights are not displayed in "Weight Paint" with modifiers
2019-05-24Depsgraph: Fix violation of evaluated domainSergey Sharybin
Evaluation must never go to original objects and query them: this is a huge violation of the entire idea of separating state across viewports and render engines. Allowed this to only happen for active dependency graph, where we at least know order of dependency graph update and user input.
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-26Fix T63660: Data Transfer of normals No Longer Working.Bastien Montagne
Logic about computing of poly normals in final stage of modifier stack evaluation was broken, giving also wrong loop normals.
2019-04-22Cleanup: style, use braces for blenkernelCampbell 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-16Cleanup: avoid adjacent C-style commentsCampbell Barton
Causes clang-format to give different results on a second run.
2019-03-29Cleanup: styleCampbell Barton
2019-03-29Fix T63075: edit mode crash with deforming modifiers, after recent changes.Brecht Van Lommel
2019-03-28Cleanup: better naming, comments, variable scoping in mesh_calc_modifiers.Brecht Van Lommel
2019-03-28Cleanup: remove unused derivedmesh code.Brecht Van Lommel
2019-03-24Cleanup: redundant use of string formatting functionsCampbell Barton
2019-03-18Fix T62633: Model normals not updating in a modifier stack after a deform ↵Bastien Montagne
modifier. A deform-only modifier that needs access to normals need a copy of evaluated mesh with those normals updated, when it is not the first one in the stack. That issue had been partially fixed in Object mode a long time ago (see T23673), but it was still broken for deform-only stacks cases. And it was also completely missing from the Edit mode code (`editbmesh_calc_modifiers()` function).
2019-03-12Cleanup: BLI_utildefines struct macrosCampbell Barton
Use the term "AFTER" instead of "OFS" since it wasn't obvious these macros operate on everything after the struct member passed. Avoid casting to non-const types when only reading.
2019-03-12Cleanup: styleCampbell Barton
2019-03-08Modifier eval: add support for request poly normals layer.Bastien Montagne
Ensure we do get poly normals if they are requested in given cddata mask.
2019-03-07Modifiers Evaluation: generate loop normals when requested.Bastien Montagne
This also fixes T62228. However, datatransfer code is still doing bad things with its source, still working on proper changes here.
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-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-11Cleanup: commentsCampbell Barton
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-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-02-01Logging: Use CLOG for blenkernelCampbell Barton
Part of D4277 by @sobakasu
2019-01-22Fix T58492: smoke flow jitters around flow source when using adaptive domain.Bastien Montagne
This is more like a band-aid than a real fix actually, real fix would be to understand why rendering smoke requires auto texspace to be ON (afaict, this was not the case in 2.7x)... But I've already spent way too much time on this issue, at least now we get better situation than before (i.e. smoke with adaptive domain works well even when orig domain mesh has autospace flag disabled).
2019-01-11Revert "Fix T57371: Generative modifiers in editmode display vertex group ↵Clément Foucault
weights ..." This reverts commit 6dbfd7f6d6bc9bea9556861eba682a3126b5ed40.
2019-01-11Fix T57371: Generative modifiers in editmode display vertex group weights ...Clément Foucault
... incorrectly (or assert) Thanks @angavrilov and @lichtwerk for the fix.
2019-01-10Fix T59631: Crash in Surface Deform modifier Bind when Dynamic Paint is ↵Bastien Montagne
included. We should *never* prevent copying basic mesh CDLayers (vertices etc.), that does not make sense. I guess issue was not in old DM because geometry was duplicated anyway, and in 'normal' modifier stack eval, probably because bare mesh was awlays requested? But we should not have to be explicit here about it.
2018-12-17Correct modifier stack validationSergey Sharybin
2018-12-06Fix T57770: Edit-mesh wireframe cage select failsCampbell Barton
2018-12-05Cleanup: unused functionCampbell Barton
2018-12-05Implement bvhtree.fromObjectDalai Felinto
Passing depsgraph instead of scene, since a scene does not fully define the state of object you want to use for the BVH. Also, mesh_create_eval_final_view and mesh_create_eval_final_render are pretty much the same, so mesh_create_eval_no_deform and mesh_create_eval_no_deform_render are as well. Issue reported on: T58734 Reviewers: sergey https://developer.blender.org/D4032
2018-12-04Fix T57620: display custom normals in Edit Mode.Alexander Gavrilov
Since it seems that CD_ORIGINDEX is not available for loops, the only choice is to simply use the loop normals already computed by depsgraph after evaluating modifiers. This revealed a bug where the Auto Smooth settings would be lost from the mesh after complex modifiers, or after edit mesh to mesh conversion, so restoring them is needed to get correct results.
2018-12-03Depsgraph: completely move customdata_mask to the ID node.Alexander Gavrilov
Move all mask-related fields from Object and OperationDepsNode to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY if the mask changes after DEG rebuild. Update DEG API and all code that uses it. This fixes "source mesh data is not ready" errors from Data Transfer modifier when parameters are changed in the UI after the recent mesh_get_eval_final fix. Reviewers: sergey Differential Revision: https://developer.blender.org/D4025
2018-12-03Fix T57858: Add validation callback to CustomData layers.Bastien Montagne
Our mesh validation was only checking cd layout so far, not their actual data. While this might only be needed for a few types, this is a required addition for things like imported UVs, else we have no way to avoid nasty things like NANs & co. Note that more layer types may need that callback, time will say. For now added it to some obvious missing cases...
2018-12-03Depsgraph: assert that mesh_get_eval_final/deform aren't used in eval.Alexander Gavrilov
Using those functions during multithreaded evaluation is a sure way to have a race condition and crash.
2018-12-01Fix more cases of evaluated mesh being built for non-COW objects.Alexander Gavrilov
2018-12-01Fix usage of mesh_get_eval_final in vertex selection.Alexander Gavrilov
It's a very bad idea to call this on non-COW instances - see T58150. Also, when rebuilding mesh it's better to accumulate mask flags to avoid possible repeated rebuilds from different users.
2018-12-01Texture Paint: avoid rebuilding evaluated mesh on first stroke.Alexander Gavrilov
Ensure all relevant CustomDataMask bits are set during normal evaluation.
2018-11-25Fix mesh_build_data() calling mesh_finalize_eval() before copying texspace.Bastien Montagne
mesh_finalize_eval() may set ob->data to evaluated mesh, needs to be done *after* call to BKE_mesh_texspace_copy_from_object(), else that one is meaningless. Related to investigations on T57985, but does not solve it at all. :(
2018-11-20Cleanup: styleCampbell Barton
2018-11-20Modifier stack: Only ensure derived mesh when USE_DERIVEDMESH is definedSergey Sharybin
This is more an internal transition away from derived mesh.
2018-11-20Modifier stack: Use evaluated mesh to check normalsSergey Sharybin