[Bf-blender-cvs] [20825728f20] upstream_cycles_texture_cache: Cycles: added ray differentials to henyey-greenstein phase function
Stefan Werner
noreply at git.blender.org
Wed Jun 27 14:05:16 CEST 2018
Commit: 20825728f2095ff3879bd0c230bcdf0a87e09637
Author: Stefan Werner
Date: Thu Aug 10 13:36:29 2017 +0200
Branches: upstream_cycles_texture_cache
https://developer.blender.org/rB20825728f2095ff3879bd0c230bcdf0a87e09637
Cycles: added ray differentials to henyey-greenstein phase function
===================================================================
M intern/cycles/kernel/closure/volume.h
===================================================================
diff --git a/intern/cycles/kernel/closure/volume.h b/intern/cycles/kernel/closure/volume.h
index da791e9aa73..31e617d6bfe 100644
--- a/intern/cycles/kernel/closure/volume.h
+++ b/intern/cycles/kernel/closure/volume.h
@@ -125,9 +125,10 @@ ccl_device int volume_henyey_greenstein_sample(const ShaderClosure *sc, float3 I
*eval = make_float3(*pdf, *pdf, *pdf); /* perfect importance sampling */
#ifdef __RAY_DIFFERENTIALS__
- /* todo: implement ray differential estimation */
- *domega_in_dx = make_float3(0.0f, 0.0f, 0.0f);
- *domega_in_dy = make_float3(0.0f, 0.0f, 0.0f);
+ make_orthonormals(-I-dIdx, &T, &B);
+ *domega_in_dx = sin_theta * cos_phi * T + sin_theta * sin_phi * B + cos_theta * (-I-dIdx) - *omega_in;
+ make_orthonormals(-I-dIdy, &T, &B);
+ *domega_in_dy = sin_theta * cos_phi * T + sin_theta * sin_phi * B + cos_theta * (-I-dIdy) - *omega_in ;
#endif
return LABEL_VOLUME_SCATTER;
More information about the Bf-blender-cvs
mailing list