diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-07-03 15:32:06 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-07-03 15:32:06 +0300 |
commit | 4056d0b74e1a444d3e56f92d45ef7ea4f598c31e (patch) | |
tree | 902a476660ec8195766d2f1e5608daecd7230181 /reference/shaders-hlsl | |
parent | 041f103d44b27512b41b7643b8cfe0276570294e (diff) |
Don't use scalar dot().
Diffstat (limited to 'reference/shaders-hlsl')
-rw-r--r-- | reference/shaders-hlsl/frag/scalar-refract-reflect.frag | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/reference/shaders-hlsl/frag/scalar-refract-reflect.frag b/reference/shaders-hlsl/frag/scalar-refract-reflect.frag index ac2ee794..0fb694c5 100644 --- a/reference/shaders-hlsl/frag/scalar-refract-reflect.frag +++ b/reference/shaders-hlsl/frag/scalar-refract-reflect.frag @@ -18,14 +18,16 @@ float SPIRV_Cross_Reflect(float i, float n) float SPIRV_Cross_Refract(float i, float n, float eta) { - float k = 1.0 - eta * eta * (1.0 - dot(n, i) * dot(n, i)); + float NoI = n * i; + float NoI2 = NoI * NoI; + float k = 1.0 - eta * eta * (1.0 - NoI2); if (k < 0.0) { return 0.0; } else { - return eta * i - (eta * dot(n, i) + sqrt(k)) * n; + return eta * i - (eta * NoI + sqrt(k)) * n; } } |