Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 1918 / 5574

December 25, 2017, 22:05 (GMT)
Fix T53607: Cycles normal map baking problem when there is no bump.
Revision 7e4568a by Joshua Leung
December 23, 2017, 10:54 (GMT)
Cleanup - Various style/typo fixes
December 22, 2017, 21:18 (GMT)
Collections: deletea collection move objects to master collection if users=0

The mental model is that a scene collection is a small wrap on top of the master
collection, so all objects are in the master collection at all times.

When we remove a collection there is no reason to remove an object. So if the
object was not linked to any other collection, we add link it to the master one.
December 22, 2017, 21:12 (GMT)
Fix scalability issue in threaded code of Mesh normals computation.

We tried to do as much as possible in a single threaded callback, which
lead to using some nasty tricks like fake atomic-based spinlocks to
perform some operations (like float addition, which has no atomic
intrinsics).

While OK with 'standard' low number of working threads (8-16), because
collision were rather rare and implied memory barrier not *that* much
overhead, this performed poorly with more powerful systems reaching the
100 of threads and beyond (like workstations or render farm hardware).

There, both memory barrier overhead and more frequent collisions would
have significant impact on performances.

This was addressed by splitting further the process, we now have three
loops, one over polys, loops and vertices, and we added an intermediate
storage for weighted loop normals. This allows to avoid completely any
atomic operation in body of threaded loops, which should fix scalability
issues. This costs us slightly higher temp memory usage (something like
50Mb per million of polygons on average), but looks like acceptable
tradeoff.

Further more, tests showed that we could gain an additional ~7% of speed
in computing normals of heavy meshes, by also parallelizing the last two
loops (might be 1 or 2% on overall mesh update at best...).

Note that further tweaking in this code should be possible once Sergey
adds the 'minimum batch size' option to threaded foreach API, since very
light loops like the one on loops (mere v3 addition) require much bigger
batches than heavier code (like the one on polys) to keep optimal
performances.
Revision 8ed1c61 by Julian Eisel
December 22, 2017, 17:53 (GMT)
Correction to previous commit: Pass MakePrimitiveData to make_prim_finish
Revision 10390ca by Julian Eisel
December 22, 2017, 17:27 (GMT)
Cleanup: Encapsulate primitive creation data into struct, remove unused argument

Should make it easier to add new and modify existing parameters.
Revision 4300709 by Julian Eisel
December 22, 2017, 16:04 (GMT)
Fix manipulators not updating when changing workspace view-layer

There are more issues when changing view-layer (esp. with edit-mode).
December 22, 2017, 15:37 (GMT)
Task scheduler: Clarify why do we need an atomic add of 0
December 22, 2017, 13:41 (GMT)
Collection: Name collection based on parent's name

So they are:

House
-> House 1
-> House 2
-> ...

The exception is when the parent collection is the master collection. In this case we get:

Master Collection
-> Collection 1
-> Collection 2
-> ...

This is part of "T53495: View layer and collection editing - Design Task"
December 22, 2017, 11:51 (GMT)
Subsurf: Avoid possible use of partially initialized edge hash
December 22, 2017, 11:50 (GMT)
Subsurf: Avoid global lock for loops and orig index layers

This is a bit annoying to have per-DM locking, but it's way better (as in, up to
4 times better) for playback speed when having lots of subsurf objects,
December 22, 2017, 11:25 (GMT)
Task scheduler: Start with suspended pool to avoid threading overhead on push

The idea is to avoid any threading overhead when we start pushing tasks in a
loop. Similarly to how we do it from the new dependency graph. Gives couple of
percent of speedup here, but also improves scalability.
December 22, 2017, 01:25 (GMT)
T53610: Crash opening file with linked particles

I could done a subversion bump, but I found a safe way to avoid it.
It leads a bit of an ugly code, but once we bump the subversion
next time we can clean it up easily.
December 21, 2017, 16:19 (GMT)
Fix typo in previous commit
December 21, 2017, 16:17 (GMT)
Merge branch 'master' into blender2.8
December 21, 2017, 16:16 (GMT)
Depsgraph: Sort and clam number of statistics entries

Makes log easier to read.
December 21, 2017, 15:43 (GMT)
Implement duplicator viewport/render visibility options

This allows a duplicator (as known as dupli parent) to be in a visible
collection so its duplicated objects are visible, however while being
invisible for the final render.

An object that is a particle emitter is also considered a duplicator.

Many thanks for the reviewers for the extense feedback.

Reviewers: sergey, campbellbarton

Differential Revision: https://developer.blender.org/D2966
December 21, 2017, 15:36 (GMT)
Merge branch 'master' into blender2.8
December 21, 2017, 15:33 (GMT)
Depsgraph: Bring timing statistics to the new dependency graph

This statistics is only collected when debug_value is different from 0.

Stored in depsgraph node itself, so we can always have access to average data
and other stats which requires persistent storage. This way we also don't waste
time trying to find stats from a separately stored hash map.
December 21, 2017, 15:33 (GMT)
Depsgraph: Make it more clear that we dump relations into graphviz

We might implement other things to dump into graphviz, so better to
start having explicit names.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021