/* Smoke.cpp: implementation of the Smoke class. */
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "flurry.h"
#define MAXANGLES 16384
}
}
+#if 0
#ifdef __ppc__
void UpdateSmoke_ScalarFrsqrte(global_info_t *global, flurry_info_t *flurry, SmokeV *s)
rsquared = (dx*dx+dy*dy+dz*dz);
f = streamSpeed * streamSpeedCoherenceFactor;
- /* mag = f / (float) sqrt(rsquared); */
-
- /* reciprocal square-root estimate replaced above divide and call to system sqrt() */
- asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
- mag *= f;
+ mag = f / (float) sqrt(rsquared);
+ /*
+ reciprocal square-root estimate replaced above divide and call to system sqrt()
+
+ asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
+ mag *= f;
+ */
s->p[s->nextParticle].delta[0].f[s->nextSubParticle] -= (dx * mag);
s->p[s->nextParticle].delta[1].f[s->nextSubParticle] -= (dy * mag);
dz = s->p[i].position[2].f[k] - flurry->spark[j]->position[2];
rsquared = (dx*dx+dy*dy+dz*dz);
- asm("fres %0, %1" : "=f" (f) : "f" (rsquared));
- f *= gravity*frameRateModifier;
-
+ /*
+ asm("fres %0, %1" : "=f" (f) : "f" (rsquared));
+ f *= gravity*frameRateModifier;
+ */
+ f = ( gravity * frameRateModifier ) / rsquared;
+
if((((i*4)+k) % flurry->numStreams) == j) {
f *= 1.0f + streamBias;
}
- /* mag = f / (float) sqrt(rsquared); */
+ mag = f / (float) sqrt(rsquared);
/* reciprocal square-root estimate replaced above divide and call to system sqrt() */
- asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
- mag *= f;
deltax -= (dx * mag);
deltay -= (dy * mag);
rsquared = (dx*dx+dy*dy+dz*dz);
f = streamSpeed * streamSpeedCoherenceFactor;
- asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
- mag *= f;
+ mag = f / (float) sqrt(rsquared);
+ /*
+ asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
+ mag *= f;
+ */
s->p[s->nextParticle].delta[0].f[s->nextSubParticle] -= (dx * mag);
s->p[s->nextParticle].delta[1].f[s->nextSubParticle] -= (dy * mag);
rsquared = (dx*dx+dy*dy+dz*dz);
f = streamSpeed * streamSpeedCoherenceFactor;
- asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
- mag *= f;
+ mag = f / (float) sqrt(rsquared);
+ /*
+ asm("frsqrte %0, %1" : "=f" (mag) : "f" (rsquared));
+ mag *= f;
+ */
s->p[s->nextParticle].delta[0].f[s->nextSubParticle] -= (dx * mag);
s->p[s->nextParticle].delta[1].f[s->nextSubParticle] -= (dy * mag);
}
#endif
+#endif /* 0 */
void DrawSmoke_Scalar(global_info_t *global, flurry_info_t *flurry, SmokeV *s, float brightness)
{
glDrawArrays(GL_QUADS,0,si*4);
}
+#if 0
#ifdef __VEC__
void DrawSmoke_Vector(global_info_t *global, flurry_info_t *flurry, SmokeV *s, float brightness)
}
#endif
+#endif /* 0 */