summaryrefslogtreecommitdiff
path: root/inscatterS.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'inscatterS.glsl')
-rw-r--r--inscatterS.glsl10
1 files changed, 5 insertions, 5 deletions
diff --git a/inscatterS.glsl b/inscatterS.glsl
index e71f019..668afa3 100644
--- a/inscatterS.glsl
+++ b/inscatterS.glsl
@@ -78,14 +78,14 @@ void inscatter(float r, float mu, float muS, float nu, out vec3 raymie) {
r = clamp(r, Rg, Rt);
mu = clamp(mu, -1.0, 1.0);
muS = clamp(muS, -1.0, 1.0);
- float var = sqrt(1.0 - mu * mu) * sqrt(1.0 - muS * muS);
+ float var = ieeesqrt(1.0 - mu * mu) * ieeesqrt(1.0 - muS * muS);
nu = clamp(nu, muS * mu - var, muS * mu + var);
- float cthetamin = -sqrt(1.0 - (Rg / r) * (Rg / r));
+ float cthetamin = -ieeesqrt(1.0 - (Rg / r) * (Rg / r));
- vec3 v = vec3(sqrt(1.0 - mu * mu), 0.0, mu);
+ vec3 v = vec3(ieeesqrt(1.0 - mu * mu), 0.0, mu);
float sx = v.x == 0.0 ? 0.0 : (nu - muS * mu) / v.x;
- vec3 s = vec3(sx, sqrt(max(0.0, 1.0 - sx * sx - muS * muS)), muS);
+ vec3 s = vec3(sx, ieeesqrt(max(0.0, 1.0 - sx * sx - muS * muS)), muS);
raymie = vec3(0.0);
@@ -100,7 +100,7 @@ void inscatter(float r, float mu, float muS, float nu, out vec3 raymie) {
if (ctheta < cthetamin) { // if ground visible in direction w
// compute transparency gtransp between x and ground
greflectance = AVERAGE_GROUND_REFLECTANCE / M_PI;
- dground = -r * ctheta - sqrt(r * r * (ctheta * ctheta - 1.0) + Rg * Rg);
+ dground = -r * ctheta - ieeesqrt(r * r * (ctheta * ctheta - 1.0) + Rg * Rg);
gtransp = transmittance(Rg, -(r * ctheta + dground) / Rg, dground);
}