diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-02-14 22:00:37 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-02-14 22:00:37 +0300 |
commit | 7a41c1634ba8099f1b4b94570edf8df2cf87da7a (patch) | |
tree | fce5cf38de95ffe1df4d02108dfca8c7a960fb7c /intern/cycles/kernel | |
parent | 349357a7bdffcf82705598d3cfc203812dd6d9a3 (diff) | |
parent | de0e456a6c7d6da065d275104bc2022b69874648 (diff) |
Merge branch 'blender2.7'
Diffstat (limited to 'intern/cycles/kernel')
-rw-r--r-- | intern/cycles/kernel/kernel_bake.h | 3 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_volume.h | 6 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/node_hsv.osl | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_ao.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_hsv.h | 2 |
5 files changed, 11 insertions, 4 deletions
diff --git a/intern/cycles/kernel/kernel_bake.h b/intern/cycles/kernel/kernel_bake.h index afb63152830..920b10086c5 100644 --- a/intern/cycles/kernel/kernel_bake.h +++ b/intern/cycles/kernel/kernel_bake.h @@ -25,9 +25,7 @@ ccl_device_inline void compute_light_pass(KernelGlobals *kg, int pass_filter, int sample) { - /* initialize master radiance accumulator */ kernel_assert(kernel_data.film.use_light_pass); - path_radiance_init(L, kernel_data.film.use_light_pass); PathRadiance L_sample; PathState state; @@ -299,6 +297,7 @@ ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input, /* light passes */ PathRadiance L; + path_radiance_init(&L, kernel_data.film.use_light_pass); shader_setup_from_sample(kg, &sd, P, Ng, Ng, diff --git a/intern/cycles/kernel/kernel_volume.h b/intern/cycles/kernel/kernel_volume.h index 1df50504434..44c8f795d2c 100644 --- a/intern/cycles/kernel/kernel_volume.h +++ b/intern/cycles/kernel/kernel_volume.h @@ -486,6 +486,9 @@ ccl_device VolumeIntegrateResult kernel_volume_integrate_homogeneous( float3 transmittance = volume_color_transmittance(coeff.sigma_t, t); new_tp = *throughput * transmittance; } + else { + new_tp = *throughput; + } /* integrate emission attenuated by extinction */ if(L && (closure_flag & SD_EMISSION)) { @@ -607,6 +610,9 @@ ccl_device VolumeIntegrateResult kernel_volume_integrate_heterogeneous_distance( transmittance = volume_color_transmittance(coeff.sigma_t, dt); new_tp = tp * transmittance; } + else { + new_tp = tp; + } /* integrate emission attenuated by absorption */ if(L && (closure_flag & SD_EMISSION)) { diff --git a/intern/cycles/kernel/shaders/node_hsv.osl b/intern/cycles/kernel/shaders/node_hsv.osl index 9d7b7cde23a..d72a87a951f 100644 --- a/intern/cycles/kernel/shaders/node_hsv.osl +++ b/intern/cycles/kernel/shaders/node_hsv.osl @@ -29,7 +29,7 @@ shader node_hsv( // remember: fmod doesn't work for negative numbers Color[0] = fmod(Color[0] + Hue + 0.5, 1.0); - Color[1] *= clamp(Saturation, 0.0, 1.0); + Color[1] = clamp(Color[1] * Saturation, 0.0, 1.0); Color[2] *= Value; Color = hsv_to_rgb(Color); diff --git a/intern/cycles/kernel/svm/svm_ao.h b/intern/cycles/kernel/svm/svm_ao.h index 15d074780c4..0744ec1768f 100644 --- a/intern/cycles/kernel/svm/svm_ao.h +++ b/intern/cycles/kernel/svm/svm_ao.h @@ -60,6 +60,8 @@ ccl_device_noinline float svm_ao(KernelGlobals *kg, ray.D = D.x*T + D.y*B + D.z*N; ray.t = max_dist; ray.time = sd->time; + ray.dP = sd->dP; + ray.dD = differential3_zero(); if(flags & NODE_AO_ONLY_LOCAL) { if(!scene_intersect_local(kg, diff --git a/intern/cycles/kernel/svm/svm_hsv.h b/intern/cycles/kernel/svm/svm_hsv.h index e69a4ee9154..6f3efa639e2 100644 --- a/intern/cycles/kernel/svm/svm_hsv.h +++ b/intern/cycles/kernel/svm/svm_hsv.h @@ -38,7 +38,7 @@ ccl_device void svm_node_hsv(KernelGlobals *kg, ShaderData *sd, float *stack, ui /* remember: fmod doesn't work for negative numbers here */ color.x = fmodf(color.x + hue + 0.5f, 1.0f); - color.y *= saturate(sat); + color.y = saturate(color.y * sat); color.z *= val; color = hsv_to_rgb(color); |