Blender Git Loki

Blender Git "fracture_modifier" branch commits.

Page: 40 / 130

January 20, 2017, 10:26 (GMT)
Cycles: Allow up to 4 motion curve primitives per BVH node

This avoids intersection AABB of different curve primitives
which makes it less ray-to-primitive intersections.

This gives about 30% speedup of hair rendering in the barber
shop scenes here. There is still some work to be done on those
files to solve major speed issues on certain frames.
January 20, 2017, 10:26 (GMT)
Cycles: Prepare BVH traversal code to work with multiple curve primitives per node
January 20, 2017, 10:26 (GMT)
Cycles: Correct assert() for cases when there are multiple curves per BVH node
January 20, 2017, 10:26 (GMT)
Cycles: Use separate limit for motion primitives for BVH node limits

This way we can have different limits for regular and motion curves
which we'll do in one of the upcoming commits in order to gain some
percents of speedup.

The reasoning here is that motion curves are usually intersecting
lots of others bounding boxes, which makes it inefficient to have
single primitive in the leaf node.
January 20, 2017, 10:26 (GMT)
Cycles: Change confusing logic of max leaf size check

Maximal number of elements is supposed to be inclusive. That is what
it was always meant in this file and what @brecht considered still
the case in 6974b69c6172.

In fact, the commit message to that change mentions that we allowed
up to 2 curve primitives per leaf while in fact it was doing up to 1
curve primitive.

Making it real 2 primitives at a max gives about 5% slowdown for the
koro.blend scene. This is a reason why BVHParams.max_curve_leaf_size
was changed to 1 by this change.
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, space prior to semicolon

We don't have that in Blender style, no reason to violate it here.
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, make curve functions private

Not only they don't really follow naming convention (we don't use
camel case) but also was not necessary to keep them in the global
symbol table.
January 20, 2017, 10:26 (GMT)
Cycles: Make it more clear message why curve motion attribute was removed
January 20, 2017, 10:26 (GMT)
Cycles: Use dedicated debug passes for traversed nodes and intersection tests

This way it's more clear whether some issue is caused by lots of geometry in
the node or by lots of "transparent" BVH nodes.
January 20, 2017, 10:26 (GMT)
Cycles: Remove more duplicated code in debug passes logic
January 20, 2017, 10:26 (GMT)
Cycles: Fix wrong scaling of traversed instances debug pass
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, remove duplicated code
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, indentation within preprocessor
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, use switch() instead of if-else chain

About to add extra debug passes, which will be more clear to use switch().
January 20, 2017, 10:26 (GMT)
Cycles: Fix wrong motion blur when combining deformation motion blur with autosplit

The issue was that we used to compare number of vertices for mesh after the auto
smooth was applied (at the center of the shutter time) with number of vertices
prior to the auto smooth applied. This caused false-positive consideration of a
mesh as changing topology.

Now we do autosplit as early as possible and do it from blender side, so Cycles
does not need to re-implement splitting on it's side.
January 20, 2017, 10:26 (GMT)
Cycles: move hair particle settings to scene context

Since the beginning of times hair settings in cycles were global for
the whole scene but were located in the particle context. This causes
quite some trickery to get shots set up for the movies here in the
studio by forcing artists to create dummy particle system to change
settings of hair on the shot.

While ideally this settings should be properly become per-particle
system for the time being it will save sweat and blood to move the
settings to scene context.

Reviewers: brecht

Subscribers: jtheninja, eyecandy, venomgfx, Blendify

Differential Revision: https://developer.blender.org/D2287
January 20, 2017, 10:26 (GMT)
Cycles: Pass explicit subdivision type to object_to_mesh

This allows us to do some extra logic checks there based on particular
subdivision type.

Additionally avoids implicit cast of enum to bool.
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, whitespace around operator
January 20, 2017, 10:26 (GMT)
Cycles: Improve logging of cases when motion blur is disabled

Next logical step is to expose this somehow to the interface.
January 20, 2017, 10:26 (GMT)
Cycles: Fix uninitialized variable issue after recent changes
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021