Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-02-14 22:00:37 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-02-14 22:00:37 +0300
commit7a41c1634ba8099f1b4b94570edf8df2cf87da7a (patch)
treefce5cf38de95ffe1df4d02108dfca8c7a960fb7c /intern/cycles/kernel
parent349357a7bdffcf82705598d3cfc203812dd6d9a3 (diff)
parentde0e456a6c7d6da065d275104bc2022b69874648 (diff)
Merge branch 'blender2.7'
Diffstat (limited to 'intern/cycles/kernel')
-rw-r--r--intern/cycles/kernel/kernel_bake.h3
-rw-r--r--intern/cycles/kernel/kernel_volume.h6
-rw-r--r--intern/cycles/kernel/shaders/node_hsv.osl2
-rw-r--r--intern/cycles/kernel/svm/svm_ao.h2
-rw-r--r--intern/cycles/kernel/svm/svm_hsv.h2
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);