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-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-12-08User Interface: Add button color for indicating that the value differs from ↵Lukas Stockner
the interpolated one One issue that especially newer users often run into is that they accidentally reset changes to the scene by switching frame without creating a keyframe first. Therefore, this commit adds a new color that is used to draw properties if their current value differs from the one that would be set when switching to this frame. This works both for existing keyframes as well as for currently interpolated frames. Unfortunately the flags in but->flag are full, so I had to move the new flag to but->drawflag and pass that to all relevant functions. I went with orange for the color since afaics it fits with the green and yellow that are currently used for keyframe states and since it's somewhat reddish to signify that there might be something to look out for here. Reviewers: campbellbarton, #user_interface, brecht Reviewed By: campbellbarton Subscribers: brecht, predoe Differential Revision: https://developer.blender.org/D3949
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-04Fix T58117: Crash with keyframing, take twoSergey Sharybin
More operators need to become aware of action possibly being gone.
2018-12-04Fix T58117: Crash with keyframingSergey Sharybin
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-22Fix T57977: VSE: Markers lines get highlighted when using box selectClément Foucault
Was caused by a missing uniform.
2018-11-16Keymaps: replace select / action mouse systemBrecht Van Lommel
For Blender builtin configurations the option to choose the select mouse remains and is now also in the splash screen. It works by changing the keymap dynamically in the script, rather than using special events. The system of automatic switching of events was not flexible enough to deal with side effects that require further keymap changes, so it is now under more manual control in the script. This breaks compatibility for some scripts and exported key configurations. These can be fixed by replacing SELECTMOUSE, ACTIONMOUSE, EVT_TWEAK_S and EVT_TWEAK_A with appropriate LEFTMOUSE, RIGHTMOUSE, EVT_TWEAK_L and EVT_TWEAK_R events. Other than that, there should be no functional changes.
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-12Add a lot of update tagging to operations with NLA tracks and strips.Alexander Gavrilov
2018-11-10GP: Autolock layers was not working with dopesheetAntonioya
Also fixed a delayed update of the panels
2018-11-09Keymap: move builtin keymaps from C to PythonBrecht Van Lommel
This should be purely an implementation change, for end users there should be no functional difference. The entire key configuration is in one file with ~5000 lines of code. Mostly avoiding code duplication and preserve comments and utility functions from the C code. It's a bit long but for searching and editing it's also convenient to have it all in one file. Notes: - Actual keymap is shared by blender / blender_legacy and stored in `keymap_data/blender_default.py` This only generates JSON-like data to be passed into `keyconfig_import_from_data`, allowing other presets to load and manipulate the default keymap. - Each preset defines 'keyconfig_data' which can be shared between presets. - Some of the utility functions for generating keymap items still need to be ported over to Python. - Some keymap items can be made into loops (marked as TODO). See: D3907
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-07Dopesheet: correctly use floating point threshold in ActKeyColumn tree.Alexander Gavrilov
After some thinking, since the tree itself does always use floating point numbers, it is better to use the threshold - but correctly.
2018-11-06Fix T57656: Keyframes cannot be selected in Grease Pencil Dopesheet.Alexander Gavrilov
Partial revert of rBf250f9256e065: GP and masks use integer frames, so float code isn't working or even needed.
2018-11-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-11-03UI: On markers alternate between filled/outline camera icon on selection.Pablo Vazquez
Instead of between the Camera and Camera Data as they are completely different shapes that don't indicate selection.
2018-10-31Cleanup: styleCampbell Barton
2018-10-31Add an option to do keyframe insertion in a cycle-aware fashion.Alexander Gavrilov
When enabled, inserting keyframes into F-Curves with simple cyclic extrapolation (the same conditions as required for cycle-aware auto handle smoothing to activate) will take the cycle into account: - Keyframes that are being inserted outside of the cycle bounds are remapped to be inside the cycle. Thus it is not necessary to be within the main iteration of the cycle when tweaking. This becomes especially useful in the final animation tweaking phase when the channel keys may be staggered for overlap, so the actual master period is different for different channels. - Modifying one of the end points of a cycle also changes the other end point when appropriate, to preserve smooth transition. This feature applies to both manual keyframe insertion using 'I', and auto-keyframing. Differential Revision: https://developer.blender.org/D3140
2018-10-31Cleanup: indentationCampbell Barton
2018-10-29Dope Sheet: new option to display keyframe interpolation mode and extremes.Alexander Gavrilov
With the new automatic handle algorithm, it is possible to do a lot of the animation via keyframes without touching the curves. It is however necessary to change the keyframe interpolation and handle types in certain cases. Currently the dopesheet/action editor allows changing the types, but does not show them in any way. To fix, add a new menu option to display this information. For handle type, it is represented using the shape of the key icons: diamond for Free, clipped diamond for Aligned, square for Vector, circle for Auto Clamp, and cirle with dot for Automatic. Non-bezier interpolation is a property of intervals between keys, so it is marked by drawing lines, similar to holds. In this initial version, only the fact of non-bezier interpolation is displayed, without distinguishing types. For summaries, the line is drawn at half alpha if not all curves in the group are non-bezier. In addition, it is sometimes helpful to know the general direction of change of the curve, and which keys are extremes. This commit also adds an option to highlight extremes, based on comparing the keyed values with adjacent keys. Half-intensity display is used for overshot bezier extremes, or non-uniform summaries. Reviewers: brecht, aligorith, billreynish Differential Revision: https://developer.blender.org/D3788
2018-10-29UI: icon set updates Andrzej Ambroz, and various fixes.William Reynish
* Text editor word wrap, line numbers & syntax toggles now use consistent icons that don’t change when you enable or disable them. * Replaced icon toggle buttons in the snapping popover with normal checkboxes and descriptive text labels. This makes it clearer which item is the main radio button, is more consistent with other popovers, and allows us to use more descriptive text. * Added correct icons for grease pencil add menu. * Added bespoke icons for grease pencil modifiers. * Added icon for particle instance modifier. * Added icon for fake user on & off states. * Added correct icons for enabling/disabling modifiers in the dopesheet & f-curve editor. * Made it so the restrict viewport & restrict render toggles for modifier update correctly when enabled or disabled, by flipping the order in the icon sheet. This also required changing the outliner to match. * Removed the few old remaining icons in the old style and made sure to replace the last places where they were used. * Updated many icons to be clearer & more consistent.
2018-10-24Fix T57359: Crash adding a Driver and then changing frameSergey Sharybin
2018-10-22Fix various icon related issues:William Reynish
* Used correct icons for Tracking. * Flip Copy/Paste icons so they are correct. * Add correct icon for softbody modifier. * Replace speaker icons for enabling F-Curves with checkboxes.
2018-10-22Followup to previous change, reduce number of relations updatesSergey Sharybin
Only tag relations update when new f-curve was allocated. This solves possible too slow keyframe insertion when doing character animation, but still does proper relation update when new ID component became animated.
2018-10-22Depsgraph: Fix missing relation updateSergey Sharybin
The issue was happening when adding animation to properties which affects different components of IDs. Reported by Philipp Oeser as part of T56636.
2018-10-22Mark TODO/XXX as solvedSergey Sharybin
We do have proper access to bmain now.
2018-10-19Dope Sheet: remove many hard-coded color and alpha constants.Alexander Gavrilov
Add the necessary colors and/or alpha components to the theme instead. Also switch the background for ordinary channels to use the likely intended theme option, instead of the window background color. The general rule is that the channel color is drawn full strength in the channel list on the left, and with alpha in the actual key frame area on the right. This alpha is also reused with bone group colors. Reviewers: brecht, billreynish Differential Revision: https://developer.blender.org/D3813
2018-10-18Cleanup: styleCampbell Barton
2018-10-17Dope Sheet: fix assert in new hold code when bezier keys are not sorted.Alexander Gavrilov
Turns out this can happen during duplicate+drag operations.
2018-10-17Cleanup: namingCampbell Barton
2018-10-17Cleanup: whitespaceCampbell Barton
2018-10-16Dope Sheet: unify comparison threshold for the ActKeyColumn tree.Alexander Gavrilov
Use the same floating point precision threshold to merge keys when building the tree as when searching it.
2018-10-16Dope Sheet: rewrite computation of keyframe hold blocks.Alexander Gavrilov
Computation of hold blocks was done by storing ranges (with start and an end, and likely overlapping) in a tree keyed only by the block start. This cannot work well, and there even were comments that it is not reliable in complex cases. A much better way to deal with it is to split all ranges so they don't overlap. The most thorough way of doing this is to split at all and every known keyframe, and in this case the data can actually be stored in the key column data structures, avoiding the need for a second tree. In practice, splitting requires a pass to copy this data to newly added keys, and the necessity to loop over all keyframes in the range being added. Both are linear and don't add excess algorithmic complexity. The new implementation also calls BLI_dlrbTree_linkedlist_sync for its own needs, so the users of the *_to_keylist functions don't have to do it themselves anymore. Differential Revision: https://developer.blender.org/D3790
2018-10-16GP: Set Dopesheet layers in Top-Down orderAntonioya
The layers are Top-Down and the dopesheet must use the same order.
2018-10-12Dope Sheet: fix hold highlighting for non-bezier interpolation.Alexander Gavrilov
The automatic highlighting of constant curve areas was checking that the bezier handles are horizontal even if a non-bezier interpolation mode was active. Conversely, it was highlighting based on just handles with Elastic interpolation, which always generates movement.
2018-10-09Cleanup: namingCampbell Barton
- immAttrib* -> immAttr* - immSkipAttrib -> immAttrSkip Term 'attr' is a convention for GPU module.
2018-10-05UI: rename Border Select -> Box SelectCampbell Barton
See: T56648
2018-10-04Fix T57062: missing preview range drawing in graph editor.Brecht Van Lommel
2018-09-27Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-27Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3732
2018-09-19GP: Fix copy frame error in dopesheetAntonioya
2018-09-19Fix T56697: missing viewport update after keyframe edits in animation editors.Brecht Van Lommel
It was updating during transform, but not a final time after keyframes get reordered or merged.
2018-09-19BLI_utildefines: rename pointer conversion macrosCampbell Barton
Terms get/set don't make much sense when casting values. Name macros so the conversion is obvious, use common prefix for easier completion. - GET_INT_FROM_POINTER -> POINTER_AS_INT - SET_INT_IN_POINTER -> POINTER_FROM_INT - GET_UINT_FROM_POINTER -> POINTER_AS_UINT - SET_UINT_IN_POINTER -> POINTER_FROM_UINT
2018-09-19Merge branch 'master' into blender2.8Campbell Barton
2018-09-18Support evaluating simple driver expressions without Python interpreter.Alexander Gavrilov
Recently @sergey found that hard-coding evaluation of certain very common driver expressions without calling the Python interpreter produces a 30-40% performance improvement. Since hard-coding is obviously not suitable for production, I implemented a proper parser and interpreter for simple arithmetic expressions in C. The evaluator supports +, -, *, /, (), ==, !=, <, <=, >, >=, and, or, not, ternary if; driver variables, frame, pi, True, False, and a subset of standard math functions that seem most useful. Booleans are represented as numbers, since within the supported operation set it seems to be impossible to distinguish True/False from 1.0/0.0. Boolean operations properly implement lazy evaluation with jumps, and comparisons support chaining like 'a < b < c...'. Expressions are parsed into a very simple stack machine program that can then be safely evaluated in multiple threads. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D3698
2018-09-03Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/collision.c