diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2016-10-30 01:56:39 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-01-20 13:25:27 +0300 |
commit | e5a86361af7615aad39f5b06ede79f6ac929b53e (patch) | |
tree | 34d44ee312057788bd569e7126187f91999990a5 /intern/cycles/kernel/kernel_path_common.h | |
parent | feb48223466a0accb9a1220c820f9f4cdd76c130 (diff) |
Cycles: Initialize the RNG state from the kernel instead of the host
This allows to save a memory copy, which will be particularly useful for network rendering.
Reviewers: sergey, brecht, dingto, juicyfruit, maiself
Differential Revision: https://developer.blender.org/D2323
Diffstat (limited to 'intern/cycles/kernel/kernel_path_common.h')
-rw-r--r-- | intern/cycles/kernel/kernel_path_common.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_path_common.h b/intern/cycles/kernel/kernel_path_common.h index 1912dfa16ed..13597eab287 100644 --- a/intern/cycles/kernel/kernel_path_common.h +++ b/intern/cycles/kernel/kernel_path_common.h @@ -14,6 +14,8 @@ * limitations under the License. */ +#include "util_hash.h" + CCL_NAMESPACE_BEGIN ccl_device_inline void kernel_path_trace_setup(KernelGlobals *kg, @@ -28,6 +30,10 @@ ccl_device_inline void kernel_path_trace_setup(KernelGlobals *kg, int num_samples = kernel_data.integrator.aa_samples; + if(sample == 0) { + *rng_state = hash_int_2d(x, y); + } + path_rng_init(kg, rng_state, sample, num_samples, rng, x, y, &filter_u, &filter_v); /* sample camera ray */ |