#include "timer.h" #include "dummyfunctions.h" typedef float MATRIX [4] [4]; typedef struct {float x, y, z, w;} VECTOR; #define ZFACTOR 60000 #define NUMPOINTS 10000 VECTOR CameraPosition; MATRIX CameraRotationT; VECTOR WorldPoints [NUMPOINTS]; VECTOR ScreenPoints [NUMPOINTS]; static VECTOR inline ScreenPointxyz (VECTOR WorldPoint) { VECTOR Point; float vx, vy, vz, vw; WorldPoint.x -= CameraPosition.x; WorldPoint.y -= CameraPosition.y; WorldPoint.z -= CameraPosition.z; vx = CameraRotationT [0] [0] * WorldPoint.x + CameraRotationT [1] [0] * WorldPoint.y + CameraRotationT [2] [0] * WorldPoint.z; vy = CameraRotationT [0] [1] * WorldPoint.x + CameraRotationT [1] [1] * WorldPoint.y + CameraRotationT [2] [1] * WorldPoint.z; vz = CameraRotationT [0] [2] * WorldPoint.x + CameraRotationT [1] [2] * WorldPoint.y + CameraRotationT [2] [2] * WorldPoint.z; Point.x = 2048.0f + vx * 500.0f / vz; Point.y = 2048.0f + vy * 500.0f / vz; Point.z = ZFACTOR / vz; Point.w = 0; return Point; } void ProjectPoints (void) { int i; for (i=0; i