The animation should first be watched mostly without input, (The animation speed controls are listed below). and probably maxamized since resize is handled. The humanoid "d00d" runs from the distance (translating his body an rotating his arms and legs) towards the table. The "d00d" then straightens out and pours 3 cups of tea with the tea kettle. Note: to help user use the "Speed Up" option: -Program starts paused -values of "Speed Up" are printed to standard output. animation rate is proportional to this "Speed Up" Animation Speed: '+' = speed up animation '-' = slow down animation 's' = stop or pause animation 'c' = continue animation --------------------------------------------------------------------------- Next, it would be fun to try the camera & psuedo-camera movement: Arrow Keys: UP = move forward DOWN = move backward LEFT = (turn) left RIGHT = (turn) right '[' = walk (movement speed) ']' = run (movement speed) And change between frustum (good) and ortho (no depth): 'i' = frustum view 'o' = ortho view 'p' = perspective view Angle Looking: GLUT_KEY_PAGE_UP = look angle up GLUT_KEY_PAGE_DOWN = look angle down GLUT_KEY_INSERT = look angle center Flying: GLUT_HOME = fly up GLUT_END = fly down --------------------------------------------------------------------------- Next, the hierarchical model that is the "d00d" can be manipulated at two times. One time is the start of the automated animation (from d00d start point to d00d at the tea table). The next time is after the animation is done. d00d mouse input is off when pouring tea! Mouse input: LEFT_MOUSE - spins d00d around x and y axis. The distance the distance the mouse moves between down click and up click, determines the speed and distance of the rotations. RIGHT_MOUSE - translates d00d in x or z direction. (Also based on x & y distances between down and up clicks). 't' = translation done with RIGHT_MOUSE button 's' = scale done with RIGHT_MOUSE button MIDDLE_MOUSE: Use middle mouse button to select various keyboard d00d manipulations. 'a' = one direction of the selected menu option 'A' or shift-'a' = faster 'a' 'd' = opposite direction of the selected menu option 'D' or shift-'d' = faster 'd' --------------------------------------------------------------------------- Additional Controls: Escape = quit --------------------------------------------------------------------------- For extra fun (and to see what your machine can handle), start the program up with the "1" flag. (such as "lab3 1") --------------------------------------------------------------------------- lab4 added lighting, materials, and textures (toggles): 'f' = fog (blue) '0' = light above d00d (green) '1' = light static towards the scene (red) '2' = texture head '3' = texture halo '4' = material pot '5' = material glasses '6' = material table '7' = texture shirt '8' = texture arms & legs '9' = texture cups --------------------------------------------------------------------------- Because they are expensuve to compute, the floor, ceiling, and walls can be toggled through 3 different modes - off, simple, complex. "off" renders nothing, "simple" renders the object with a single cube, "complex" renders the object with many cubes. 'b' = bottom floor 'n' = ceiling 'm' = walls --------------------------------------------------------------------------- Using ppm textures from "Best Of": http://www.cs.rit.edu/usr/local/pub/ncs/graphics/OpenGL/ExamplesLab4/ ---------------------------------------------------------------------------