{************************************************************************} {* *} {* STARS by Mark Mackey. Displays a starfield from a moving, *} {* rotating viewpoint. Somewhat glitchy due to using only *} {* 16-bit arithmetic (rotations aren't quite orthogonal), *} {* but works OK as an example. Could also be sped up a bit *} {* by rewriting the newstar() procedure in assembler and *} {* fiddling with the update() code, but I couldn't be bothered. *} {* If anyone wants to convert this to 32-bit arithmetic and *} {* send me a copy I'd be quite grateful... *} {* Alternatively, the star positions could be fixed and the *} {* display positions re-evaluated each display cycle from the *} {* orientation and position of the viewer, but this would make *} {* wraparound harder and would probably be slower. *} {* This code is released as freeware. You are free to use and *} {* modify it as you see fit, but acknowledgement would be nice, *} (* {$DEFINE DREAM_ON} as would $$$ {$UNDEF DREAM_ON}. *) {* *} {* Please send comments, suggestions, bugs etc to *} {* mmackey@aqueous.ml.csiro.au. If mail bounces (I'm moving *} {* soon) resend to mackey@aqueous.ml.csiro.au with 'MARK:' in *} {* the subject header, and it'll get to me eventually... *} {* *} {* Hit 'x','y','z' to toggle rotation about that axis, '<' or '>' *} {* to change rotation speed for currently selected axes, or *} {* '+','-' to change speed. ESC exits. *} {* *} {* If this program crashes in a huge steaming heap then you've *} {* probably got a 286. This program won't run on a 286. Sorry. *} {* You lose :). *} {* *} {* (C) 1993 Mark Mackey *} {************************************************************************}