Remi Gagne 92994018 CS 314 Assignment 1 - Animated Undead Poodle October 15, 2004 As far as dogs go, Poodles are pretty weak. Following my gut and appreciation for all things zombiefied, I went and animated an Undead Zombie Poodle. He's far more interesting than any standard old blooby poodle, and has sharp pointy teeth. The Undead Zombie Poodle would easily tear any other poodle limb from limb. Also -as you may well know- Undead Zombie Poodles have no use for pedestrian, random objects, which is why its scene is comfortably barren. To compile the application, just type 'make'. This will generate an executable called 'dog'. Run this to see the Undead Poodle in a stationary rest pose, standing up. Alternatively, run 'dog' with one of the three keyframe files included with the assignment, to see the Undead Poodle sit down, stand up, and wag its bony tail. Keybindings ----------- - 'ESC' will exit the program - 'q' will exit the program - ' ' (space) will pause/unpause the keyframe animation - 's' will pause/unpause the scene rotation - 'k' will display the next keyframe in the specified file, looping back to the begining of the file at the end. - 'x' will set the current view straight down the X axis - 'z' will set the current view straight down the Z axis - 'y' will set the current view straight down the Y axis - 'u' will adjust the scene's concept of 'up' to straight up the X axis - 'v' will adjust the scene's concept of 'up' to straight up the Y axis - 'w' will adjust the scene's concept of 'up' to straight up the Z axis - 'r' will alternate the scene's rotation angle between the X, Y and Z axis - any other key will be ignored - adjusting any view point will also pause the scene's rotation Keyframe files -------------- If the program is run with no command line arguments, the Undead Poodle will be displayed in a standing, rest pose. Alternatively, a keyframe file may be specified as an argument, which will animate the Undead Poodle. The layout for all keyframe files is as follows, minus linefeeds. Values in '()' are floating point numbers. Each file will have one or more 'keyframe' lines: (# of keyframe lines) keyframe (timestamp) (pause) (x displacement) (y displacement) (top back) (bottom back) (waist) (shoulder) (elbow) (wrist) (left hip) (left knee) (left ankle) (left paw) (right hip) (right knee) (right ankle) (right paw) (base tail) (mid tail) (tip tail) (neck base) (neck top) (jaw) Individual Keyframe files ------------------------- sitdown.txt: Displays the Undead Poodle from a rest pose (standing at ease) into a sitting position, by first moving one back leg, then the other, forward, then lowering the back end and moving the shoulders back. The animation will pause once the dog is sitting. When resumed, the animation will move the dog back into a standing position. beg.txt: Displays the Undead Poodle from a rest pose (standing at ease) and jumping into a position standing on the back legs. The animation will pause when the dog is standing upright, and again when it is back in a rest pose. wag.txt: Display the Undead Poodle wagging its tail up and down while barking madly. The animation will loop forever, but can be paused as usual.