Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 431 / 5574

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.
January 15, 2021, 16:29 (GMT)
Fix T84745: build error with TBB 2021

task_group::is_canceling() was removed.
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)
Fix Cycles build error with OSL 1.12

Differential Revision: https://developer.blender.org/D10118
January 15, 2021, 14:28 (GMT)
Merge branch 'blender-v2.92-release'
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
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
January 15, 2021, 01:23 (GMT)
Cleanup: spelling
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
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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021