From: lordhavoc Date: Sun, 3 Feb 2002 10:24:02 +0000 (+0000) Subject: changed explosion color calculations, they look much better now X-Git-Tag: RELEASE_0_2_0_RC1~669 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=0bcd0ef2bde549adf67e37c67d74f0bf1282bccd;p=xonotic%2Fdarkplaces.git changed explosion color calculations, they look much better now git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@1476 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/r_explosion.c b/r_explosion.c index 6922bb6e..769c2afb 100644 --- a/r_explosion.c +++ b/r_explosion.c @@ -256,29 +256,31 @@ void R_DrawExplosion(explosion_t *e) { for (i = 0;i < EXPLOSIONVERTS;i++) { - dist = DotProduct(e->vert[i], vpn) - centerdist; - // use inverse fog alpha as color - VectorSubtract(e->vert[i], r_origin, diff); - ifog = 1 - exp(fogdensity/DotProduct(diff,diff)); - if (ifog < 0) - ifog = 0; - c[i][0] = ifog; - c[i][1] = ifog; - c[i][2] = ifog; - //c[i][3] = min(dist * scale, 1) * alpha; - c[i][3] = dist * scale * alpha; + dist = (DotProduct(e->vert[i], vpn) - centerdist) * scale; + if (dist > 0) + { + // use inverse fog alpha as color + VectorSubtract(e->vert[i], r_origin, diff); + ifog = 1 - exp(fogdensity/DotProduct(diff,diff)); + if (ifog < 0) + ifog = 0; + c[i][0] = c[i][1] = c[i][2] = dist * alpha * ifog; + } + else + c[i][0] = c[i][1] = c[i][2] = 0; + c[i][3] = 1; } } else { for (i = 0;i < EXPLOSIONVERTS;i++) { - dist = DotProduct(e->vert[i], vpn) - centerdist; - c[i][0] = 1; - c[i][1] = 1; - c[i][2] = 1; - //c[i][3] = min(dist * scale, 1) * alpha; - c[i][3] = dist * scale * alpha; + dist = (DotProduct(e->vert[i], vpn) - centerdist) * scale; + if (dist > 0) + c[i][0] = c[i][1] = c[i][2] = dist * alpha; + else + c[i][0] = c[i][1] = c[i][2] = 0; + c[i][3] = 1; } } /*