Blender Git Commit Log

All Blender Git commits.

Page: 4103 / 8462

January 13, 2017, 01:41 (GMT)
Cycles: Overload DeviceTask::update_progress to take multiple tiles

`update_progress` will only update the tile sample once every second,
which is a problem when there are multiple tiles and calls to this
function. The overload allows for multiple tiles to be updated at once
by getting around the rate limit with a single call.
January 13, 2017, 01:40 (GMT)
Cycles: Add SampleRange struct

This struct will be used to describe the ranges of tile samples passed
to the kernel when rendering multiple tiles samples at once.
January 13, 2017, 01:40 (GMT)
Cycles: Have CPU devices use new the acquire_tiles function

This is mostly for testing at the moment, as the default work request
sizes should result in only one tile being acquired at once. May need to
tweak the request sizes later, but for now this should do.
January 13, 2017, 01:40 (GMT)
Cycles: Add functions to acquire multiple tiles at once

Devices will render multiple smallish tiles (and eventually multiple
samples) at once to keep busy. Using smaller tiles has a few benefits:
there's less of an issue of tiles being cropped at image edges, multiple
devices can share work better, and we may even be able to increase
coherency from rendering multiple samples.
January 13, 2017, 00:41 (GMT)
Apply collision responce on state before pre-collision solve (breaks selfcol)

This uses the pre-collision solve result only to find the collisions and
calculate the responce impulses, but rolls back to before the
pre-collision solve when it is time to actually apply the responce.

This prevents the cloth from undergoing a double solve per time-step,
which essentially made colliding clothes move much faster than
non-colliding clothes.
January 12, 2017, 23:09 (GMT)
Cycles: Implement new NLM kernels for CUDA
January 12, 2017, 18:28 (GMT)
Dynamic Paint: recursively search for island border edges.

It is quite likely in a triangulated mesh that the actual island edge
belongs to a different triangle than the current pixel; for example
consider corners of a triangulated axis aligned rectangle face that
have the additional edge: a pixel there will have to be assigned to
one of the triangles, but one of the edges of the original rectangle
can only be accessed through the other triangle.

Thus for robust operation it is necessary to do a recursive search.
The search is limited by requiring that it only goes through edges
that bring it closer to the target point, and also by depth as a
safeguard.

Differential Revision: https://developer.blender.org/D2409
January 12, 2017, 18:28 (GMT)
Dynamic Paint: provide margin of error for linking neighbors across seams.

The code requires the pixel on the other side of the seam to be assigned
precisely to the expected triangle. This can cause false negatives around
vertices, where a pixel is likely to touch multiple triangles and thus
cannot be said to unambiguously belong to any one of them, so check
distance to the intended triangle and accept the result if it's close.
January 12, 2017, 18:28 (GMT)
Dynamic Paint: improve UV island border handling in effects.

1. Forcibly symmetrize the neighbor relations, so that if A is neighbor
of B, B is neighbor of A. The existing code is guaranteed to violate
this if texture resolution is different between the sides of a seam.

2. In texture mode dynamic paint adds a 1 pixel wide border around the
islands. These pixels aren't really part of the dynamic paint domain
and thus by design can't have symmetrical neighbor relations. This
means they can't be treated by effects like normal pixels.
The simplest way to handle it in a consistent way is to exclude
them from effects, but add an additional pass that recomputes them
as average of their non-border neighbors, located on both sides of
the seam.
January 12, 2017, 17:23 (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 12, 2017, 17:23 (GMT)
Remove Bases onces and for all

This officially makes the viewport not draw anything, until we get the
new ObjectBase * to use.

This is easily revertable, but for now I prefer to make sure this is not
in the way of refactoring.
January 12, 2017, 17:20 (GMT)
Cycles: Prepare BVH traversal code to work with multiple curve primitives per node
January 12, 2017, 16:54 (GMT)
Remove weird impulse scaling
January 12, 2017, 16:51 (GMT)
Updated python files to use select_get/_set() [not addons]
January 12, 2017, 16:38 (GMT)
Cycles: Correct assert() for cases when there are multiple curves per BVH node
January 12, 2017, 15:54 (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 12, 2017, 15:33 (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 12, 2017, 14:31 (GMT)
Cycles: Cleanup, space prior to semicolon

We don't have that in Blender style, no reason to violate it here.
January 12, 2017, 14:28 (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 12, 2017, 14:22 (GMT)
Cycles: Make it more clear message why curve motion attribute was removed
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021