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:
authorSebastian Herhoz <sebastian.herholz@intel.com>2022-09-21 18:46:10 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-09-27 16:47:03 +0300
commitbd249eb4f37e65b2f4b3deef775bb136a2c234d1 (patch)
treeb25c4fa279f5d89929c81a901a81c4cd14ea5f81 /intern/cycles/kernel/closure/bsdf_hair_principled.h
parent715c86d9e58f44ed078dd61c1fed45739bf65723 (diff)
Cycles: BSDF changes in preparation of path guiding
* Return roughness and IOR for BSDF sampling * Add functions to query IOR and label for given BSDF * Default IOR to 1.0 instead of 0.0 for BSDFs that don't use it * Ensure pdf >= 0.0 in case of numerical precision issues Ref T92571, D15286
Diffstat (limited to 'intern/cycles/kernel/closure/bsdf_hair_principled.h')
-rw-r--r--intern/cycles/kernel/closure/bsdf_hair_principled.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/kernel/closure/bsdf_hair_principled.h b/intern/cycles/kernel/closure/bsdf_hair_principled.h
index 2236bc62050..d0a44c65d52 100644
--- a/intern/cycles/kernel/closure/bsdf_hair_principled.h
+++ b/intern/cycles/kernel/closure/bsdf_hair_principled.h
@@ -354,10 +354,15 @@ ccl_device int bsdf_principled_hair_sample(KernelGlobals kg,
float randv,
ccl_private Spectrum *eval,
ccl_private float3 *omega_in,
- ccl_private float *pdf)
+ ccl_private float *pdf,
+ ccl_private float2 *sampled_roughness,
+ ccl_private float *eta)
{
ccl_private PrincipledHairBSDF *bsdf = (ccl_private PrincipledHairBSDF *)sc;
+ *sampled_roughness = make_float2(bsdf->m0_roughness, bsdf->m0_roughness);
+ *eta = bsdf->eta;
+
float3 Y = float4_to_float3(bsdf->extra->geom);
float3 X = safe_normalize(sd->dPdu);