Blender Git Commits

Blender Git "fracture_modifier-master" branch commits.

Page: 39 / 129

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: Cleanup, remove duplicated code
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: 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, 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: Cleanup, whitespace around operator
January 20, 2017, 10:26 (GMT)
Cycles: Consider GGX/Beckmann/Ashikhmin of 0 roughness a singular ray

This matches behavior of Multiscatter GGX and could become handy later on
when/if we decide it would be beneficial to replace on closure with another.

Reviewers: lukasstockner97, brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D2413
January 20, 2017, 10:26 (GMT)
Cycles: Fix indendation
January 20, 2017, 10:26 (GMT)
Cycles: Move object culling helper to own files

This is a stand-alone logic, which becomes quite comprehensive now.
January 20, 2017, 10:26 (GMT)
Cycles: Fix uninitialized variable issue after recent changes
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: Tweak curve segment (un)pack to handle more curve segments

There was 16 bits reserved for primitive type, while we only need 4.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D2401
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, variable names

Use underscore again and also solve confusing part then in BVH smae
thing is called prim_addr but in intersection funcitons it was called
triAddr.
January 20, 2017, 10:26 (GMT)
Land D2339 by bliblu bli
January 20, 2017, 10:26 (GMT)
Cycles: Cleanup, variables names

Use underscore instead of camel case.
January 20, 2017, 10:26 (GMT)
Fix emissive volumes generates unexpected fireflies around intersections

Discard the whole volume stack on the last bounce (but keep
world volume if present).

Volumes are expected to be closed manifol meshes, meaning if
ray entered the volume there should be an intersection event
of ray exisintg the volume. Case when ray hit nothing and
there are still non-world volumes in the stack can happen in
either of cases.

1. Mesh is not closed manifold.

Such configurations are not really supported anyway and should
not be used.

Previous code would have consider the infinite length of the
ray to sample across, so render result wasn't really correct
anyway.

2. Exit intersection is more far away than the camera far
clip distance.

This case also will behave differently now, but previously it
wasn't really correct either, so it's not like we're breaking
something which was working as expected.

3. We missed exit event due to intersection precision issues.

This is exact the case which this patch fixes and avoid
fireflies.

4. Volume has Camera only visibility (all the rest visibility
is set to off)

This is what could be considered a regression but could be
solved quite easily by checking volume stack's objects flags
and keep entries which doesn't have Volume Scatter visibility
(or even better: ensure Volume Scatter visibility for objects
with volume closure),

Fixes T46108: Cycles - Overlapping emissive volumes generates unexpected bright hotspots around the intersection
Also fixes fireflies appearing on the edges of cube with
emissive volue.

Reviewers: juicyfruit, brecht

Reviewed By: brecht

Maniphest Tasks: T46108

Differential Revision: https://developer.blender.org/D2212
January 20, 2017, 10:26 (GMT)
Cycles :Cleanup, indentation
January 20, 2017, 10:26 (GMT)
Cycles: Fix correlation issues in certain cases

There were two cases where correlation issues were obvious:

- File from T38710 was giving issues in 2.78a again
- File from T50116 was having totally different shadow between
sample 1 and sample 32.

Use some more simplified version of CMJ hash which seems to give
nice randomized value which solves the correlation.

This commit will break all unit test files, but it's a bug fix
so perhaps OK to commit this.

This also fixes T41143: Sobol gives nonuniform noise

Proper science paper about hash function is coming.

Reviewers: brecht

Reviewed By: brecht

Subscribers: lukasstockner97

Differential Revision: https://developer.blender.org/D2385
January 20, 2017, 10:26 (GMT)
Cycles: Disable AVX2 crash workarounds

I can no longer reproduce crash with neither of the files where
the crash was originally visible. This is something where other
changes (light threshold, sampling) had an effect and made code
to work as it is supposed to. Could have been optimizator issue
or something like that.

Let's see if we hit same issue again.
January 20, 2017, 10:26 (GMT)
Cycles: Add AVX intrinsics helpers

They are defined for MSVC but seems to be missing in GCC and CLang-3.8.

Maybe some further tweaks to policy when to define those functions is
needed, but should be fine for now.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021