Revision 20a5434 by Sergey Sharybin January 15, 2021, 16:42 (GMT) |
Tracking: Fix transform cancel for plane tracks Use exact marker accessor. Harmless due to the current way the transform system is used by tracking. But for the future development proper accessor needs to be used. |
Revision 3732508 by Brecht Van Lommel January 15, 2021, 16:29 (GMT) |
Revision c4286dd by Jacques Lucke January 15, 2021, 15:35 (GMT) |
RNA: support range-based for loops in C++ api Cycles has a lot of code like this: ```lang=c++ BL::Object::modifiers_iterator b_mod; for (b_ob->modifiers.begin(b_mod); b_mod != b_ob->modifiers.end(); ++b_mod) { ``` Range-based for loops allow us to simplify this to: ```lang=c++ for (BL::Modifier &b_mod : b_ob->modifiers) { ``` In order to support this, a collection (such as `b_ob->modifiers`) must have a `begin()` and `end()` method, that take no parameters and return an iterator. The `end` method already exists, but the `begin` method takes the iterator as argument currently. This patch adds a new `begin` method that returns the iterator. The old `begin` method is still available to avoid breaking existing code. My assumption is that the old `begin` method took the iterator as parameter so that the iterator is not copied or moved, i.e. its memory address is stable and the destructor is only called once. I'm not sure if both of these requirements are really necessary to ensure that the iterators work correctly. To be on the safe side, I deleted the copy/move constructors/assignment operators. Since C++17 there is "guaranteed copy elision" which basically allows us to return a non-copyable and non-movable type from a function. To make that work, I had to add a new constructor to `CollectionIterator` that calls `begin` on itself. Reviewers: brecht Differential Revision: https://developer.blender.org/D10120 |
January 15, 2021, 14:41 (GMT) |
Revision df96a9c by Germano Cavalcante January 15, 2021, 14:28 (GMT) |
Merge branch 'blender-v2.92-release' |
Revision c63442d by Germano Cavalcante January 15, 2021, 14:24 (GMT) |
Fix T84673: Skin resize operator always using object origin as pivot The TransData converted to work in Skin Resize had no defined center. Caused by rB54ee4109143b |
Revision cab6d5e by Hans Goudey January 15, 2021, 14:19 (GMT) |
Merge branch 'blender-v2.92-release' |
Revision 6c840a2 by Hans Goudey January 15, 2021, 14:18 (GMT) |
Fix "Make Instances Real" to work with nodes modifier instances This commit changes the check at the beginning of the "Make Instances Real" operator to account for the instances created by nodes modifiers in the modifier stack. Differential Revision: https://developer.blender.org/D10059 |
Revision a51584d by Jacques Lucke January 15, 2021, 11:00 (GMT) |
Geometry Nodes: transfer corner and point attributes in Point Distribute node If the mesh has any corner or point attributes (e.g. vertex weights or uv maps), those attributes will now be available on the generated points as well. Other domains can be supported as well. I just did not implement those yet, because we don't have a use case for them. Differential Revision: https://developer.blender.org/D10114 |
Revision 04572f0 by Campbell Barton January 15, 2021, 01:23 (GMT) |
Cleanup: spelling |
Revision dc59955 by Campbell Barton January 15, 2021, 01:17 (GMT) |
Cleanup: use 'pragma once' |
Revision f03752b by Wayde Moss January 15, 2021, 00:27 (GMT) |
Nla: Rename NlaEvalChannel->valid to domain For term consistency with usage. The clarity is more for consistency with the nla domain() processing function names and the core struct member name it stores the results in, "valid". The name "domain", which implies a function can operate on it, seems more natural than "valid", which implies something is wrong if false. No functional changes. Reviewed by: sybren Differential Revision: https://developer.blender.org/D9692 |
Revision 10ce2a1 by Wayde Moss January 15, 2021, 00:04 (GMT) |
NLA: Redundant NlaEvalChannel Valid Mask Write The field will already be properly written to in (anim_sys.c) nla_eval_domain_action(). It's easier to understand the property's usage after removing the redundancy. No functional changes. Reviewed by: ChrisLend, sybren Differential Revision: https://developer.blender.org/D9689 |
Revision 32e4ded by Wayde Moss January 14, 2021, 23:47 (GMT) |
Nla Refactor: is_fcurve_evaluatable() No functional changes. Future patches {D8867} {D8296} make use of it. Reviewed by: sybren, ChrisLend Differential Revision: https://developer.blender.org/D9691 |
Revision 09709a7 by Wayde Moss January 14, 2021, 23:25 (GMT) |
Nla Refactor: Split animsys_evaluate_nla() No intended functional changes. Refactors animsys_evaluate_nla() into 2 versions: animsys_evaluate_nla_for_keyframing(), animsys_evaluate_nla_for_flush() to make it clear what data is being calculated and why. Dummy strip creation has been refactored to two separate functions, animsys_create_tweak_strip() and animsys_create_action_track_strip(). Both are evaluated differently from other strips and eachother. There's no need to interweave them. A future patch D8296, generally requires both strips. ___ XXX anim_sys.c) nlatrack_find_tweaked() is a temporary work around. If anyone has any insight into this problem, help is appreciated. Reviewed by: sybren Differential Revision: https://developer.blender.org/D9696 |
Revision b75552e by Hans Goudey January 14, 2021, 22:49 (GMT) |
UI: Draw socket type colors on the left in group sockets list Previously the colors were on the right for outputs, but this is now unecessary because of the organization in separate panels after rBb1d1a58c77fb1658. |
Revision 40d391f by Wayde Moss January 14, 2021, 21:50 (GMT) |
Fix T81533: NLA Properly Draw FModifiers When NLA strips weren't time-aligned with the underlying action, then fcurve modifiers would not be drawn anchored to the strip. Fmodifiers were evaluating properly, they just weren't drawn with the proper offset and scale. To fix it in this specific case, I've chosen to undo the keyframe remapping then remap the draw-evaluation-time from scene time to fcurve time. Afterward, I redo the keyframe remapping so the controls are properly drawn. The Envelope fmodifier has special drawing code which was fixed too. In this case, no mapping at all was happening. The solution was similar, to remap the envelope control points from fcurve time to scene time. |
January 14, 2021, 21:25 (GMT) |
Gpencil Noise - Add noise offset parameter This patch adds a noise offset option to the grease pencil noise modifier. It allows the user to animate the noise along the length of the stroke to create movement that is currently not possible. It works by adding an offset to the noise table and adding the remaining floating point value to the noise table sampling. Reviewed By: #grease_pencil Differential Revision: https://developer.blender.org/D10021 |
Revision 0f2ae61 by Lukas Stockner January 14, 2021, 21:03 (GMT) |
Use mmap() IO for reading uncompressed .blends Instead of submitting tons of tiny IO syscalls, we can speed things up significantly by `mmap`ing the .blend file into virtual memory and directly accessing it. In my local testing, this speeds up loading the Dweebs file with all its linked files from 19sec to 10sec (on Linux). As far as I can see, this should be supported on Linux, OSX and BSD. For Windows, a second code path uses `CreateFileMapping` and `MapViewOfFile` to achieve the same result. Reviewed By: mont29, brecht Differential Revision: https://developer.blender.org/D8246 |
Revision 30dd31a by Wayde Moss January 14, 2021, 20:13 (GMT) |
Fix T81533: NLA Properly Draw FModifiers When NLA strips weren't time-aligned with the underlying action, then fcurve modifiers would not be drawn anchored to the strip. Fmodifiers were evaluating properly, they just weren't drawn with the proper offset and scale. To fix it in this specific case, I've chosen to undo the keyframe remapping then remap the draw-evaluation-time from scene time to fcurve time. Afterward, I redo the keyframe remapping so the controls are properly drawn. The Envelope fmodifier has special drawing code which was fixed too. In this case, no mapping at all was happening. The solution was similar, to remap the envelope control points from fcurve time to scene time. |
|
|
|


Master Commits
MiikaHweb | 2003-2021