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
2020-02-17Fix T68749: BPY: Deprecate height of popupJeroen Bakker
`invoke_props_dialog` and `invoke_popup` had a width and a height field. The height field was ignored as the height is determined based on the content. This change removes the field from the BPY + WM_api Reviewed By: Campbell Barton, Jacques Lucke Differential Revision: https://developer.blender.org/D6694
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-10Cleanup: spellingCampbell Barton
2020-02-04Merge branch 'blender-v2.82-release'Campbell Barton
2020-02-04Fix T73234: Undo/redo with local collection crashesCampbell Barton
Resolves crashes when edit-mode undo data wasn't included because it wasn't visible, also resolves T73416.
2020-02-03Cleanup: Rearrange ED_armature.hmano-wii
2019-12-27Transform: Use parent bone orientation if the bone has not sizemano-wii
As shown in the T68805, non-sized bones (such as the resulting extruded bone) have no direction or orientation. This can be bad for operators like `extrude_move` since the user might want the resulting bone to be aligned with the bone that originated it. The solution here is to get the parent bone orientation in the transform operator if the bone has no size. Differential Revision: https://developer.blender.org/D6486
2019-12-24Cleanup: correct filenames in commentsCampbell Barton
2019-12-09Cleanup: remove duplicate variablesCampbell Barton
Previous code made it seem as if the original edit-object was re-created after separating.
2019-12-09Edit Armature: match separate selection with meshesCampbell Barton
- Existing objects remain selected. - The content of the armatures is unselected.
2019-12-09Fix separating bones on hidden layersCampbell Barton
2019-12-09Fix T72310: Separate bones creates empty armaturesCampbell Barton
Armatures that didn't contain any selected bones were still creating armatures.
2019-12-02Overlay Engine: Refactor & CleanupClément Foucault
This is the unification of all overlays into one overlay engine as described in T65347. I went over all the code making it more future proof with less hacks and removing old / not relevent parts. Goals / Acheivements: - Remove internal shader usage (only drw shaders) - Remove viewportSize and viewportSizeInv and put them in gloabl ubo - Fixed some drawing issues: Missing probe option and Missing Alt+B clipping of some shader - Remove old (legacy) shaders dependancy (not using view UBO). - Less shader variation (less compilation time at first load and less patching needed for vulkan) - removed some geom shaders when I could - Remove static e_data (except shaders storage where it is OK) - Clear the way to fix some anoying limitations (dithered transparency, background image compositing etc...) - Wireframe drawing now uses the same batching capabilities as workbench & eevee (indirect drawing). - Reduced complexity, removed ~3000 Lines of code in draw (also removed a lot of unused shader in GPU). - Post AA to avoid complexity and cost of MSAA. Remaining issues: - ~~Armature edits, overlay toggles, (... others?) are not refreshing viewport after AA is complete~~ - FXAA is not the best for wires, maybe investigate SMAA - Maybe do something more temporally stable for AA. - ~~Paint overlays are not working with AA.~~ - ~~infront objects are difficult to select.~~ - ~~the infront wires sometimes goes through they solid counterpart (missing clear maybe?) (toggle overlays on-off when using infront+wireframe overlay in solid shading)~~ Note: I made some decision to change slightly the appearance of some objects to simplify their drawing. Namely the empty arrows end (which is now hollow/wire) and distance points of the cameras/spots being done by lines. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6296
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-15Fix active bone flip not activating the wpaint vertex groupCampbell Barton
2019-11-07Fix T69822: Switching sculpt objects breaks undoCampbell Barton
This introduces object mode tagging for data which hasn't yet been written back to the ID data. Now when selecting other sculpt objects, the original objects data is flushed back to the ID before writing a memfile undo step.
2019-10-24Fix T60689: Flip Active/Selected bone fails in weight paint modeCampbell Barton
Multiple selection operations failed with weight-paint + pose mode. Weight-paint + pose mode is a special case that doesn't support multi-pose mode, so we need to use this instead of the generic function.
2019-10-04Fix T67212: No smooth blending in "Push Pose from Breakdown" and "Relax Pose ↵Sebastian Parborg
to Breakdown" The previous method produced non smooth interpolation results and it was very hard to control. (At least for me it seemed to be broken until I actually took a look at what the code actually did) Now we simply linearly interpolate between the breakdown position and the current bone data. Reviewed By: Sybren, Hjalti Differential Revision: http://developer.blender.org/D5892
2019-10-02Fix T70409: Propagate Pose not updating correctlySybren A. Stüvel
The Action was changed without tagging it as such in the depsgraph. Thanks @sergey for the sanity check!
2019-09-26Cleanup: clang-formatBrecht Van Lommel
2019-09-26WM: clean up cursors constants and codeBrecht Van Lommel
There was a mix of old and new constants. Now have one list of WM_CURSOR_* cursor types, using GHOST standard cursors when available and otherwise falling back to our custom cursors. Ref D5197
2019-09-25Pose paste: avoid auto-keying on unselected bones when 'selection only' is ↵Sybren A. Stüvel
enabled The `pose_bone_do_paste()` function is documented to only return a non-NULL pointer on a successful paste, and the one caller that checks the return value is expecting this behaviour. However, before this commit, when a valid pose channel was found, 'Selected Only' was enabled, and the bone was not selected, the function would still return non-NULL. This resulted in auto-keying pose channels that were not pasted. Reviewed by: angavrilov Differential Revision: https://developer.blender.org/D5891
2019-09-25Motion paths: Use minimal possible dependency graphSergey Sharybin
This change makes it so motion paths are using minimal possible dependency graph which is sufficient to evaluate required motion path targets. Disclaimer: granularity is done on ID level, but it is possible to go more granular if really needed. Brings time down to 0.5 sec when updating motion path for the Rain animation file used for benchmarks in the previous commits. Reviewers: brecht Differential Revision: https://developer.blender.org/D5874
2019-09-25Motion paths: Refactor, make update range more explicitSergey Sharybin
Allows to have a higher versatility in the API. Should be no functional changes.
2019-09-18Fix excessive dependency graph evaluation while painting strokesBrecht Van Lommel
Particularly noticeable when vertex painting with a subsurf modifier. In some cases every sculpt or paint stroke step would evaluate the dependency graph. This should only happen for redraws. Now more selectively choose if the dependency graph should be evaluated to initialize the view context. Doing it in the view context evaluation is somewhat hidden, now it's more explicit. Differential Revision: https://developer.blender.org/D5844
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-04Armature: add Inherit Scale options to remove shear or average the scale.Alexander Gavrilov
As an inherent property of matrix-based transformation math, non- uniform scaling of a parent bone induces shear into the transform matrix of any rotated child. Such matrices cannot be cleanly decomposed into a combination of location/rotation/scale, which causes issues for rigging and animation tools. Blender bones have options to exclude rotation and/or scale from the inherited transformation, but don't have any support for removing the often undesired shear component. That goal requires replacing simple parenting with a combination of multiple bones and constraints. The same is true about the goal of inheriting some scale, but completely avoiding shear. This patch replaces the old Inherit Scale checkbox with a enum that supports multiple options: * Full: inherit all effects of scale, like with enabled Inherit Scale. * Fix Shear: removes shear from the final inherited transformation. The cleanup math is specifically designed to preserve the main axis of the bone, its length and total volume, and minimally affect roll on average. It however will not prevent reappearance of shear due to local rotation of the child or its children. * Average: inherit uniform scale that represents the parent volume. This is the simplest foolproof solution that will inherit some scale without ever causing shear. * None: completely remove scale and shear. * None (Legacy): old disabled Inherit Scale checkbox. This mode does not handle parent shear in any way, so the child is likely to end up having both scale and shear. It is retained for backward compatibility. Since many rigging-related addons access the use_inherit_scale property from Python, it is retained as a backward compatibility stub that provides the old functionality. As a side effect of reworking the code, this also fixes a matrix multiplication order bug in the Inherit Rotation code, which caused the parent local scale to be applied in world space. In rigger opinion this option is useless in production rigs, so this fix should not be a problem. Reviewers: brecht Differential Revision: https://developer.blender.org/D5588
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-23Armature: use BKE_armature_transform when applying transformationCampbell Barton
Keep ED_armature_transform for RNA Armature.transform since it operates on edit-bones in edit-mode. Rename ED_armature_transform_bones to ED_armature_edit_transform since it wasn't obviously an edit-mode function.
2019-08-21Cleanup: clang-formatCampbell Barton
2019-08-21Fix T65671: Armature X-Mirror inconsistenciesDemeter Dzadik
This fixes bendy bone properties not being mirrored correctly Reviewed By: Brecht Differential Revision: http://developer.blender.org/D5408
2019-08-16Outliner: Synced selection and active element highlightingNathan Craddock
Adds a toggle to the filter menu for outliner synced selection. Enabled by default, this ensures selection is synced between objects, bones, and sequences. An active outliner element theme color is added to indicate which element is active. Synced selection is controlled on the operator level. Each operator that modifies selection for objects, bones, sequences, or outliner elements needs to call the respective ED_outliner_select_sync_from.. function to tag outliners to be synced. Syncing is done lazily on outliner draw.
2019-08-16Cleanup: spellingCampbell Barton
2019-08-02Cleanup: doxy sectionsCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-07-31Animation: Remove depsgraph argument from a lot of APISergey Sharybin
Use explicit boolean flag to indicate whether flush to original data is needed or not. Makes it possible to avoid confusion on whether an evaluated or any depsgraph can be passed to the API. Allows to remove depsgraph from bAnimContext as well. Reviewers: brecht Differential Revision: https://developer.blender.org/D5379
2019-07-18Fix T66949: Can't select bones from multiple objects in wpaint modeCampbell Barton
This fix relies on 2.7x logic, only de-selecting other armature objects, making multiple armatures in weight paint mode usable.
2019-07-18Fix pose de-selection when selecting from object modeCampbell Barton
2019-07-17Fix T59713: Armature layer dots not updated on changesmano-wii
`layer_used` runtime data, which controls the drawing of dots in the UI was not getting refreshed properly. This used to happen in the drawing code, but was no longer working for reasons explained in: {rB2b09062defa093a243b5fe64b099accb07b440a3} The solution was to update each layer manually in the operators: * ARMATURE_OT_bone_primitive_add * ARMATURE_OT_delete * ARMATURE_OT_dissolve * ARMATURE_OT_fill * ARMATURE_OT_merge * ARMATURE_OT_separate * ARMATURE_OT_bone_layers * POSE_OT_bone_layers Differential Revision: https://developer.blender.org/D5281
2019-07-17Revert "Fix T59713: Moving bones between layers in edit mode doesn't show ↵mano-wii
the dot icon in the layers UI" This commit did not follow the protocol that requires a review first. This reverts commit 580acab1737c726f43e39792dbb75f3ca2089fcb.
2019-07-17Fix T59713: Moving bones between layers in edit mode doesn't show the dot ↵mano-wii
icon in the layers UI
2019-07-11Undo System: add is_final argument (no functional changes)Campbell Barton
This is needed step out of undo steps which accumulate changes, larger changes could be made to handle this but better not make them at this point.
2019-07-07Cleanup: spellingCampbell Barton
2019-06-14Fix pose copy storing action/animation in copybufferSergey Sharybin
2019-06-12Cleanup: unused varsCampbell Barton
2019-06-11Fix/Cleanup: I18N: Bad usage of IFACE_ instead of TIP_.Bastien Montagne
Cheap tip: anything that is not "Camel Case" and/or that is more than a few words long should use `TIP_` translation, not `IFACE_` one. Also added several missing strings (including the one reported in D5056 by Jean First (@robbott), thanks).
2019-06-11Fix T65671: Armature X-Mirror inconsistenciesmano-wii
Apparently the `rna_Armature_editbone_transform_update` function was incomplete because it didn't copy all mirrored transform values. I also noticed that the same logic seen in `rna_Armature_editbone_transform_update` is also seen in `ED_armature_edit_transform_mirror_update`. So the solution is expose and use that logic that updates a mirrored bone. Thus deduplicating and fixing T65671. Reviewers: brecht, zeddb Differential Revision: https://developer.blender.org/D5058
2019-06-07Remove Deform Delay armature optionSergey Sharybin
This option can not be supported by a new granular dependency graph, and, especially, copy-on-write. It was always doing full update ever since initial commit of new dependency graph which we are using here in the studio for the past years and lack of this option was never brought up. Fixes T65557: Delay refresh option in armatures is broken