Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 1227 / 5574

April 25, 2019, 04:47 (GMT)
Outliner parenting hierarchy: Sort for children when not a-z sorting

We always keep the children that are not in a collection listed in the
end of the children list due to design. This way we can visually draw
them with dashed vertical lines.

This was already working for alphabetical sorting, however whenever
sorting was disabled, we would end up with a list of children ordered
regardless of their state (whether the child itself is in the collection).
April 25, 2019, 04:23 (GMT)
Fix T63869: Crash in new outliner show parenting hierarchy

As known as outliner parenting hierarchy take two.
Implemented suggestion by Brecht Van Lommel:

```
The problem is that it's iterating over te_parent->subtree,
while at the same time removing elements from it as tree_to_remove_objects_from.

Further there is a linear lookup to find tree elements corresponding to a child
object, which causes O(n^2) time complexity overall and so poor scaling for many
objects in a collection.

The more efficient solution that also fixes the crash could be:

* Build a map from Object* to a list of TreeElement* matching the object.
* For all objects in the tree lookup the parent in this map, and move or add
tree elements as needed.
```

I removed the grouping of the children not in collection in the end of
the children list when sorting was not enabled. If we think we really
need it back it can be tackled separately.

That said, despite due to performance reasons, I can't see why would
someone not have the a-z sorting enabled. And if they do, it is not the
end of the world to have interleaved children that are in the collection
or not in the parent subtree.
April 25, 2019, 01:46 (GMT)
Fix T63528: Alembic export always showing error on macOS, even on success

tellp() is not valid to check if the string stream is empty. Just get the
string directly as there is no obvious efficient method to check otherwise.
April 25, 2019, 01:46 (GMT)
Cycles: tweak preferences text when no compatible GPUs are found

Try to make it more clear that this only affects Cycles, many users seem to
miss the panel title.
April 24, 2019, 22:25 (GMT)
Fix T63869: disable outliner show parent hierarchy temporarily

This is likely to cause crashes in many file, so disable this feature until
it is fixed.
April 24, 2019, 22:24 (GMT)
Cleanup: fix compiler warning
April 24, 2019, 20:29 (GMT)
Fix T63841: armature with X-axis mirror does not mirror bbone scale

Reviewers: brecht

Maniphest Tasks: T63841

Differential Revision: https://developer.blender.org/D4733
April 24, 2019, 17:11 (GMT)
Fix T61184 linked curves with curve modifiers arent drawn correctly

Force Displist to Mesh conversion if there is any modifier.

This is until we find a better way to store the batches per objects.

Also fix draw cache functions that were not returning final mesh edges.
April 24, 2019, 16:31 (GMT)
Correct switched values in the previous commit.
April 24, 2019, 16:19 (GMT)
Fix T62701: Hair edit mode crashes on some old AMD Radeon drivers.

The crash is related to the format, but the real reason is unknown.
April 24, 2019, 15:45 (GMT)
UI: Simple confirm dialog when loading new file

I also had to make the "New" operator a submenu in the
`File Context Menu`, so that you can still select the template.

This partially solves T61599. Currently the confirm dialog
is not shown when an already existing file is opened.
Implementing that requires a bit more work and will be
done in a separate patch.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4732
April 24, 2019, 15:34 (GMT)
Refactor: allow event handlers to have a poll function

Previously only a fixed bounding box could be used.
This was not flexible enough.
T63193 will benefit from this refactor.

Reviewers: brecht, campbellbarton
April 24, 2019, 12:39 (GMT)
Cycles: remove hair minimum width support.

This never really worked as it was supposed to. The main goal of this is to
turn noise from sampling tiny hairs into multiple layers of transparency that
do not need to be sampled stochastically. However the implementation of this
worked by randomly discarding hair intersections in BVH traversal, which
defeats the purpose.

If it ever comes back, it's best implemented outside the kernel as a preprocess
that changes hair radius before BVH building. This would also make it work with
Embree, where it's not supported now. But it's not so clear anymore that with
many AA samples and GPU rendering this feature is as helpful as it once was for
CPU raytracers with few AA samples.

The benefit of removing this feature is improved hair ray tracing performance,
tested on NVIDIA Titan Xp:

bmw27: +0.37%
classroom: +0.26%
fishy_cat: -7.36%
koro: -12.98%
pabellon: -0.12%

Differential Revision: https://developer.blender.org/D4532
April 24, 2019, 11:42 (GMT)
Outliner: Show parenting hierarchy in view layer view

If the "Object Children" filter is enabled, we nest the object children inside
the object. If the child itself is not in the collection, it is grayed out,
connected by a dash line, and its restriction flags and contents are not shown.

If "Object Children" filter is disabled, it works as before.

Note: This is not super fast, but at least we traverse the tree only once to get the
children of an object. That said, there is a lot of loops going on here.

Task T63526.

Development notes:
I could use the GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR shader, but
that would mean I would need to iterate over the tree twice (once for
each shader) - or do some bigger refactor.

Also I could not get that shader to work. This shader expects float
vertices while the current one is using integers, so converting the code
would make the dash line drawing to diverge from the regular lines even
further.

Differential Revision: https://developer.blender.org/D4696
April 24, 2019, 10:44 (GMT)
Cycles: move shader node versioning code to C

Shader nodes are now shared with Eevee, so makes more sense to have it in
the core and not be Cycles specific.

Fix T62415: issues with append/link of old Cycles settings.
April 24, 2019, 10:44 (GMT)
Nodes: avoid slow and unecessary node group updates on file read

On file read we need to update group nodes in case the group they refer to
has changed its inputs and outputs. This had O(n^2) time complexity and was
updating all datablocks even if they did not change.
April 24, 2019, 10:44 (GMT)
Nodes: remove group node forward compatibility with version 2.66

Forward compatibility with that version is already long gone, and removing
it means we can avoid running some complicated code on every file read/write.
April 24, 2019, 10:44 (GMT)
Nodes: better integrate node init and versioning in file reading

Node versioning code was added before there was a mechanism to do versioning
after lib linking. Now integrate with that system and make it less of a strange
exception. Node versioning is now skipped on undo, like other versioning code.
April 24, 2019, 10:27 (GMT)
Fix T63566: Pop-up closes before mouse-over

Closely spaced buttons caused the curve clipping popup to close
before the cursor could mouse-over it.
April 24, 2019, 09:59 (GMT)
Refactor: Separate template selection from read_homefile operator

This is a first step towards T61599.
This way the invoke function can be used for the confirm
dialog in a separate patch.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D4723
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021