Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2019-07-03 15:32:06 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2019-07-03 15:32:06 +0300
commit4056d0b74e1a444d3e56f92d45ef7ea4f598c31e (patch)
tree902a476660ec8195766d2f1e5608daecd7230181 /reference/shaders-hlsl
parent041f103d44b27512b41b7643b8cfe0276570294e (diff)
Don't use scalar dot().
Diffstat (limited to 'reference/shaders-hlsl')
-rw-r--r--reference/shaders-hlsl/frag/scalar-refract-reflect.frag6
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;
}
}