summaryrefslogtreecommitdiffstats
path: root/src/Runtime/res/effectlib/fresnelLayer.glsllib
diff options
context:
space:
mode:
authorMäättä Antti <antti.maatta@qt.io>2017-11-30 12:41:44 +0200
committerAntti Määttä <antti.maatta@qt.io>2018-01-10 12:41:04 +0000
commita15e4a54f78e330c613a2e63d8004169c05d94be (patch)
tree5f3f58b9a0cc2a1dd547ccc3276f28c49fa7c9cf /src/Runtime/res/effectlib/fresnelLayer.glsllib
parent16185339fc737bfabb415265cdc9beef7146407e (diff)
Improve custom material GLES2 support
Implement light shader property setting for custom materials when constant buffers are not supported. Remove floating point .f from glsllib. Task-number: QT3DS-36 Change-Id: I30df0ef8841daaa166910c2384613a1c9f4e6b46 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Runtime/res/effectlib/fresnelLayer.glsllib')
-rw-r--r--src/Runtime/res/effectlib/fresnelLayer.glsllib18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/Runtime/res/effectlib/fresnelLayer.glsllib b/src/Runtime/res/effectlib/fresnelLayer.glsllib
index a9b4087b..60d71764 100644
--- a/src/Runtime/res/effectlib/fresnelLayer.glsllib
+++ b/src/Runtime/res/effectlib/fresnelLayer.glsllib
@@ -61,8 +61,8 @@ vec3 pseudoFresnel( in vec3 N, in vec3 ior, float fresnelPower )
float fresnel( in float eta1, in float eta2, in float cosTheta1 )
{
float etaInv = eta1 / eta2;
- float cosTheta2 = 1.0f - ( 1.0f - cosTheta1 * cosTheta1 ) * ( etaInv * etaInv );
- if ( 0.0f <= cosTheta2 )
+ float cosTheta2 = 1.0 - ( 1.0 - cosTheta1 * cosTheta1 ) * ( etaInv * etaInv );
+ if ( 0.0 <= cosTheta2 )
{
cosTheta2 = sqrt( cosTheta2 );
float n1t1 = eta1 * cosTheta1;
@@ -71,29 +71,29 @@ float fresnel( in float eta1, in float eta2, in float cosTheta1 )
float n2t2 = eta2 * cosTheta2;
float rs = ( n1t1 - n2t2 ) / ( n1t1 + n2t2 );
float rp = ( n1t2 - n2t1 ) / ( n1t2 + n2t1 );
- float f = 0.5f * ( rs * rs + rp * rp );
+ float f = 0.5 * ( rs * rs + rp * rp );
return( clamp( f, 0.0, 1.0 ) );
}
else
{
- return( 1.0f );
+ return( 1.0 );
}
}
-// we assume, light rays run through air with ior == 1.0f
+// we assume, light rays run through air with ior == 1.0
// with eta = eta2 / eta1, we have
-// - when hitting a front face: eta2 == ior, eta1 == 1.0f => eta = ior
-// - when hitting a back face : eta2 == 1.0f, eta1 == ior => eta = 1.0f / ior
+// - when hitting a front face: eta2 == ior, eta1 == 1.0 => eta = ior
+// - when hitting a back face : eta2 == 1.0, eta1 == ior => eta = 1.0 / ior
vec3 fresnel( in vec3 N, in vec3 ior )
{
float cosTheta1 = dot( N, viewDir );
if ( gl_FrontFacing )
{
- return( vec3( fresnel( 1.0f, ior[0], cosTheta1 ), fresnel( 1.0f, ior[1], cosTheta1 ), fresnel( 1.0f, ior[2], cosTheta1 ) ) );
+ return( vec3( fresnel( 1.0, ior[0], cosTheta1 ), fresnel( 1.0, ior[1], cosTheta1 ), fresnel( 1.0, ior[2], cosTheta1 ) ) );
}
else
{
- return( vec3( fresnel( ior[0], 1.0f, cosTheta1 ), fresnel( ior[1], 1.0f, cosTheta1 ), fresnel( ior[2], 1.0f, cosTheta1 ) ) );
+ return( vec3( fresnel( ior[0], 1.0, cosTheta1 ), fresnel( ior[1], 1.0, cosTheta1 ), fresnel( ior[2], 1.0, cosTheta1 ) ) );
}
}