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
2018-10-09Cleanup: namingCampbell Barton
Rename DerivedMesh modifier functions to make room for mesh versions.
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-20Cleanup: move DerivedMesh wrappers for modifiers further down the hierarchyJacques Lucke
The main goal of this patch is to cleanup the interface of every modifier. More specifically the interface of modifiers should be DerivedMesh-free. Internally some modifiers still use DerivedMesh. However I think it is better when the wrappers are in the modifiers so that higher level functions can use the simplified interface. This patch removes the applyModifier_DM and applyModifierEM_DM functions. In a previous patch (rB3614d9d) the other functions that used DerivedMesh have been removed. Reviewers: brecht
2018-09-19Fix wrong pointer used in modifier stackSergey Sharybin
Was passing pointer to a pointer of context.
2018-09-19Cleanup: Remove some DerivedMesh wrappers for modifiersJacques Lucke
Specifically the deformVerts_DM, deformMatrices_DM, deformVertsEM_DM and deformMatricesEM_DM functions are not used anymore. Reviewer: brecht
2018-07-04Pass copy flag to modifier copyData functionSybren A. Stüvel
This will allow modifiers to decide whether to copy or share caches between ModifierData copies.
2018-06-21Modifiers: Stop using md->scene in isDisabled() callbackSergey Sharybin
This is first commit in series of changes to get rid of md->scene.
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-09Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/space_view3d/drawobject.c
2018-06-09Cleanup: remove some G.main usages.Bastien Montagne
2018-06-01Merge branch 'master' into blender2.8Campbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-05-31Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_curves.cpp source/blender/blenkernel/BKE_particle.h source/blender/blenkernel/intern/modifier.c source/blender/blenkernel/intern/object_update.c source/blender/blenkernel/intern/particle_system.c source/blender/editors/object/object_modifier.c source/blender/editors/physics/physics_fluid.c source/blender/makesrna/intern/rna_particle.c source/blender/modifiers/intern/MOD_particlesystem.c
2018-05-31Cleanup: remove G.main from BKE modifier.Bastien Montagne
2018-05-30Cleanup/fix wrong modifiers targets handling in COW context.Bastien Montagne
Modifiers stack only get COW/evaluated IDs, so no need to go auery again DEG for those. Further more, now unified handling of EditBMesh case (was done on case-by-case basis in a few modifiers, not all for some reason). We are still missing the ability to get final and cage deformed meshes when in Edit mode though, this is to be defined/implemented in depsgraph.
2018-05-25Cleanup/simplification for BKE_modifier_get_evaluated_mesh_from_objectBastien Montagne
* Added BKE_object_get_evaluated_mesh, which can also be used outside of Modifier context. * BKE_modifier_get_evaluated_mesh_from_object is now a dummy wrapper around BKE_object_get_evaluated_mesh, we do not need anything special anymore for RENDER quality option, since this is supposed to be handled at depsgraph level... Maybe we can get rid of it at some point, but kind of like the idea of keeping it for now, sounds more consitent.
2018-05-24Fix all modifiers that depended on BKE_modifier_get_evaluated_mesh_from_objectDalai Felinto
This fix applying the following modifiers: * Boolean (working already) * Array * Mesh Deform * Surface Deform * Vertex Weight Proximity This function was to return evaluated mesh. So it should get the evaluated object at all times. So in this case it makes more sense to simply pass the depsgraph (or in this case the ModifierEvalContext that contains both the depsgraph and the flag. Solution discussed with Bastien Montagne.
2018-05-22Fix T55146: hair + subsurf modifier not positioning hair correctly.Brecht Van Lommel
ORIGSPACE data was not being preserved correctly through subsurf.
2018-05-16Add modifier_deformVerts_ensure_normals, modifier_applyModifier_ensure_normalsMai Lavelle
Same as `modwrap_deformVerts` and `modwrap_applyModifier` but for `Mesh`.
2018-05-11T54983: Bone selection overlayJeroen Bakker
Bone selection overlay is only available in pose mode. and when active overrules the selection buffer. This is currently `tricked` by switching the draw engines, but this is an exception. Not sure how to solve this in a better way. After this is solved we can look at how to localize the dim effect to only the objects connected to the active armatures. Currently it dims the whole screen (including background). @campbellbarton I added you as reviewer as it you have done a lot in the DRW_draw_select_loop Reviewers: campbellbarton, fclem Reviewed By: fclem Subscribers: campbellbarton Tags: #bf_blender_2.8, #code_quest Maniphest Tasks: T54983 Differential Revision: https://developer.blender.org/D3241
2018-05-09Cleanup/refactor: Move get_mesh_eval_for_modifier from MOD_util to BKE_modifier.Bastien Montagne
Because some modifiers' actual code is in BKE... Also renamed to more BKE-valid name BKE_modifier_get_evaluated_mesh_from_object.
2018-05-08Cleanup: whitespace, duplicate includesCampbell Barton
2018-05-07Merge branch 'master' into blender2.8Bastien Montagne
2018-05-07Fix (unreported) memleak when copying object with some modifiers.Bastien Montagne
2018-05-04Merge branch 'blender2.8' into tmp-static-override-insertionBastien Montagne
2018-05-04Allocate/free meshes with generic library functions.Sybren A. Stüvel
This avoids the need to use Mesh-specific functions, and makes allocation and freeing easy oneliners.
2018-05-02Static Override: add insertion for modifiers and one constraints, fix ↵Bastien Montagne
editing of inserted items in collections. Now insertable collection items have a flag to say they are 'local' (and hence can be freely edited).
2018-05-01Modifiers: Fix crash when entering edit mode on unported modifiersSybren A. Stüvel
2018-05-01Extract common modifier parameters into ModifierEvalContext structSybren A. Stüvel
The contents of the ModifierEvalContext struct are constant while iterating over the modifier stack. The struct thus should be only created once, outside any loop over the modifiers.
2018-05-01Introduced CDDM_from_mesh_ex() to create a non-referencing CDDMSybren A. Stüvel
This allows the mesh to be freed and the CDDM kept.
2018-05-01Modifiers: Mirror DerivedMesh → MeshSybren A. Stüvel
2018-05-01Modifiers: Armature DerivedMesh → MeshSybren A. Stüvel
The mesh parameter of armature_deform_verts() is now const, to indicate that it's safe to pass ob->data to it directly.
2018-05-01Modifiers: Simple Deform & Build, DerivedMesh → MeshSybren A. Stüvel
This commit introduces `EditMeshData`. The fields in this struct are extracted from `EditDerivedBMesh` into their own struct `EditMeshData`, which can then also be used by the `Mesh` struct. This allows passing deformed vertices efficiently to the draw routines. The modifier code constructs a new Mesh instead of writing to ob->data; even when ob->data is a CoW copy, it can still be used by different objects and thus shouldn't be modified by a modifier.
2018-05-01Modifiers: Add wrapper functions with Mesh / DerivedMesh conversionMai Lavelle
Makes the follow changes: - Add new `deform*` and `apply*` function pointers to `ModifierTypeInfo` that take `Mesh`, and rename the old functions to indicate that they take `DerivedMesh`. These new functions are currently set to `NULL` for all modifiers. - Add wrapper `modifier_deform*` and `modifier_apply*` functions in two variants: one that works with `Mesh` and the other which works with `DerivedMesh` that is named with `*_DM_depercated`. These functions check which type of data the modifier supports and converts if necessary - Update the rest of Blender to be aware and make use of these new functions The goal of these changes is to make it possible to port to using `Mesh` incrementally without ever needing to enter into a state where modifiers don't work. After everything has been ported over the old functions and wrappers could be removed. Reviewers: campbellbarton, sergey, mont29 Subscribers: sybren Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3155
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-04-04Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/BKE_object.h
2018-04-04Fix modifier freeing code re. ID refcounting.Bastien Montagne
Free code should not handle ID refcounting at all. This has to be done at higher level, since in some case we want to free (temp) data that actually did not refcount at all its IDs. This change seems to be working OK, but as usual in that area, only lots of testing in real-case situation will say whether there are some hidden bugs or not.
2018-02-06Object Mode: use eval_ctx for modifiers_isCorrectableDeformedCampbell Barton
Some other minor changes from D3037 as well
2018-01-24Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/modifiers/intern/MOD_wireframe.c
2018-01-24BKE's modifier_isEnabled: add check on NULL Scene pointer.Bastien Montagne
We do not always have that one available, and even without the isDisabled callback this func is helpful. Note that this is a bot stupid, only modifier actually needing a valid Scene pointer here is subsurf... :|
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.