Project Name: Space Paranoids Author: Cliff R. Chan Controls: (key - description) up down left right arrow keys - rotate the camera (or model) w - toggle wireframe a - rotate cannon to the left d - rotate cannon to the right Description: This program displays a model of the tank from Tron (specifically, Flynn's tank when he's trying to hack into the system). The main goal of the project was to model something complex in OpenGL. After I realized it wasn't possible to model one of the characters from The Family Guy (well, maybe Stewie) in OpenGL using the shapes we've learned from class, I settled on something more polygonal. The tank consists of three major parts: the tracks, the chassis, and the cannon. I worked on each individually and brought them together at the end. General Problems: It was a major headache trying to figure out what size everything should be. I was working on the three sections separately, taking measurements from screenshots, figuring out the right proportions, etc. Normally, that's not so hard, except I had to go back and forth between the code and the compiled model. Another problem had to do with the movie itself. It wasn't until I reached the cannon that I realized there's more than one model tank used in the movie. There's the tank that Flynn uses in the beginning, the battle tanks in the canyon, and misc tanks used elsewhere. They're generally the same, but differ slightly, causing confusion when I was trying to figure out what the model should look like from the left and right. Also, going frame by frame through the movie, I noticed that the cannon actually passes through other parts of the tank, like the turret in the front. This meant I had to augment my model so that everything was spaced exactly the right amount apart. Pitfalls: My original intent was to have the tracks and the front section of the chassis be completely rounded like the model in the movie. I got most of the way there, until I ran into problems sewing up the ends of the cylinders. I know I could have simply put a bunch of cylinders on top of each other, but at that point (and even now) I was really intent on creating one solid object. Lighting, oy. As the main purpose of the program was to model the tank, I really didn't give much thought to lighting it while I was working (stupid stupid stupid). It wasn't till the end when I started lighting that I realized how terrible everything looked. I was missing specular highlights all over the place, and the tank generally looked like one big slab of metal. I had considered going back and subdividing all the flat surfaces into smaller triangles to catch the highlights better, but I realized that would take ages, especially in parts like the tracks that I had to handcode with specific measurements taken from screenshots. Conclusion: Except for the Lighting, I'm generally very happy with how the project turned out. I set out to model something satisfactorily complex in OpenGL and , althought I got WAY more than I bargained for, am generally happy with the results.