diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-09-08 02:42:14 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-09-12 13:45:29 +0300 |
commit | cd6c9e9e5f4726ab0b0b2c58249f98dab5c5d267 (patch) | |
tree | c40d2b865394ed4cfe3b4da23e650c783d4578de /intern/cycles/kernel/kernel_types.h | |
parent | d454a44e96649103772ae2c8707ee1ef5e46080c (diff) |
Cycles: improve sample stratification on area lights for path tracing.
Previously we used a 1D sequence to select a light, and another 2D sequence
to sample a point on the light. For multiple lights this meant each light
would get a random subset of a 2D stratified sequence, which is not
guaranteed to be stratified anymore.
Now we use only a 2D sequence, split into segments along the X axis, one for
each light. The samples that fall within a segment then each are a stratified
sequence, at least in the limit. So for example for two lights, we split up
the unit square into two segments [0,0.5[ x [0,1[ and [0.5,1[ x [0,1[.
This doesn't make much difference in most scenes, mainly helps if you have a
few large area lights or some types of HDR backgrounds.
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 8f65c00491c..2c7e9b82feb 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -292,7 +292,7 @@ enum PathTraceDimension { PRNG_BSDF_U = 0, PRNG_BSDF_V = 1, PRNG_BSDF = 2, - PRNG_LIGHT = 3, + PRNG_UNUSED3 = 3, PRNG_LIGHT_U = 4, PRNG_LIGHT_V = 5, PRNG_LIGHT_TERMINATE = 6, |