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
path: root/intern
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2013-05-26 21:10:22 +0400
committerThomas Dinges <blender@dingto.org>2013-05-26 21:10:22 +0400
commit2efe0f6733509bf4df7c8118f210a8e3db7d0784 (patch)
tree87e4e182a7761117a5993029735e006786e000bc /intern
parentd3f9fb677b2b434432fee6a5ed75baa2ccb77ab3 (diff)
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.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/closure/bsdf_reflection.h1
-rw-r--r--intern/cycles/kernel/shaders/node_fresnel.h4
-rw-r--r--intern/cycles/kernel/shaders/node_fresnel.osl3
-rw-r--r--intern/cycles/kernel/shaders/node_glass_bsdf.osl3
-rw-r--r--intern/cycles/kernel/shaders/node_layer_weight.osl5
5 files changed, 9 insertions, 7 deletions
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);