From 2efe0f6733509bf4df7c8118f210a8e3db7d0784 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 26 May 2013 17:10:22 +0000 Subject: Cycles / OSL: * Rename fresnel_dielectric() to fresnel_dielectric_cos() to match SVM, easier when searching code. * Also remove an old code comment in bsdf_reflection.h from Cycles branch days. --- intern/cycles/kernel/closure/bsdf_reflection.h | 1 - intern/cycles/kernel/shaders/node_fresnel.h | 4 ++-- intern/cycles/kernel/shaders/node_fresnel.osl | 3 ++- intern/cycles/kernel/shaders/node_glass_bsdf.osl | 3 ++- intern/cycles/kernel/shaders/node_layer_weight.osl | 5 +++-- 5 files changed, 9 insertions(+), 7 deletions(-) (limited to 'intern') diff --git a/intern/cycles/kernel/closure/bsdf_reflection.h b/intern/cycles/kernel/closure/bsdf_reflection.h index 9356f950d98..7715aac936f 100644 --- a/intern/cycles/kernel/closure/bsdf_reflection.h +++ b/intern/cycles/kernel/closure/bsdf_reflection.h @@ -59,7 +59,6 @@ __device float3 bsdf_reflection_eval_transmit(const ShaderClosure *sc, const flo __device int bsdf_reflection_sample(const ShaderClosure *sc, float3 Ng, float3 I, float3 dIdx, float3 dIdy, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - //const BsdfReflectionClosure *self = (const BsdfReflectionClosure*)sc->data; float3 N = sc->N; // only one direction is possible diff --git a/intern/cycles/kernel/shaders/node_fresnel.h b/intern/cycles/kernel/shaders/node_fresnel.h index dfd0a23fe1e..61b980f7375 100644 --- a/intern/cycles/kernel/shaders/node_fresnel.h +++ b/intern/cycles/kernel/shaders/node_fresnel.h @@ -14,11 +14,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -float fresnel_dielectric(vector Incoming, normal Normal, float eta) +float fresnel_dielectric_cos(float cosi, float eta) { /* compute fresnel reflectance without explicitly computing * the refracted direction */ - float c = fabs(dot(Incoming, Normal)); + float c = fabs(cosi); float g = eta * eta - 1 + c * c; float result; diff --git a/intern/cycles/kernel/shaders/node_fresnel.osl b/intern/cycles/kernel/shaders/node_fresnel.osl index e8d8e945f98..0ab6594cc4f 100644 --- a/intern/cycles/kernel/shaders/node_fresnel.osl +++ b/intern/cycles/kernel/shaders/node_fresnel.osl @@ -26,6 +26,7 @@ shader node_fresnel( { float f = max(IOR, 1.0 + 1e-5); float eta = backfacing() ? 1.0 / f: f; - Fac = fresnel_dielectric(I, Normal, eta); + float cosi = dot(I, Normal); + Fac = fresnel_dielectric_cos(cosi, eta); } diff --git a/intern/cycles/kernel/shaders/node_glass_bsdf.osl b/intern/cycles/kernel/shaders/node_glass_bsdf.osl index da1a42876fe..ba08964d116 100644 --- a/intern/cycles/kernel/shaders/node_glass_bsdf.osl +++ b/intern/cycles/kernel/shaders/node_glass_bsdf.osl @@ -29,7 +29,8 @@ shader node_glass_bsdf( { float f = max(IOR, 1.0 + 1e-5); float eta = backfacing() ? 1.0 / f: f; - float Fr = fresnel_dielectric(I, Normal, eta); + float cosi = dot(I, Normal); + float Fr = fresnel_dielectric_cos(cosi, eta); if (distribution == "Sharp") BSDF = Color * (Fr * reflection(Normal) + (1.0 - Fr) * refraction(Normal, eta)); diff --git a/intern/cycles/kernel/shaders/node_layer_weight.osl b/intern/cycles/kernel/shaders/node_layer_weight.osl index 3ea57f71786..c185c06bf64 100644 --- a/intern/cycles/kernel/shaders/node_layer_weight.osl +++ b/intern/cycles/kernel/shaders/node_layer_weight.osl @@ -26,14 +26,15 @@ shader node_layer_weight( output float Facing = 0.0) { float blend = Blend; + float cosi = dot(I, Normal); /* Fresnel */ float eta = max(1.0 - Blend, 1e-5); eta = backfacing() ? eta : 1.0 / eta; - Fresnel = fresnel_dielectric(I, Normal, eta); + Fresnel = fresnel_dielectric_cos(cosi, eta); /* Facing */ - Facing = abs(dot(I, Normal)); + Facing = fabs(cosi); if (blend != 0.5) { blend = clamp(blend, 0.0, 1.0 - 1e-5); -- cgit v1.2.3