Where to begin, oh where to begin... Everything that has a beginning has an end... I can't say where the beginning really started, neither can I say where the end truly is. There certainly wasn't enough time for me to implement all the features I would have liked to, but nevertheless I have gained more than I bargained for. I first thought of designing a museum because museums are cool places to begin with. They contain many histories, life stories, loves, and wonders that we would never see if it weren't for museums. They preserve a life we can only begin to imagine. My design was a basic one, a 4 wall room with marble floor and ceiling of some sort, lights to light up my museum to make it beautiful, etc. What additonal things I could add was what made this project interesting. I started out with basic textures, textures to the floor, textures to the walls, and then eventually pictures to place on the wall. Most of the textures used were found on the internet. It's truly amazing to see how much texture maps are used in the world today, and they truly are useful. I had also planned on putting texture maps onto benches and so forth, as can be seen in the program. Unfortunately, due to time constraints, I was unable to add a sphere texture map. I have a specially defined function to draw a sphere, but was unable to texture map anything on the sphere. I preferred to use the same texture on the walls over and over again separately to enhance the effects of the texture map instead of one big blurry one. I have to say that I'm glad that I did so. I wanted some special for my museum, rather than being constantly that which it is, a museum. So I added additional features such as fog, which definitely help in anti-aliasing and making the objects appear more smooth. But besides that, I wanted to have fun with a bit of extra security in the form of laser alarms when all the lights are turned off. Of course, due to the nature of lighting, mere lines would not be able to show, therefore I had to create a special function to handle this process. I would pass in the two points where we wish to have a laser line, and then build quad strips around it. These quad strips are so minute such that we can see them, but we cannot tell that they are actually dimensional. Again, the fog helps in hiding this fact. However, the lines can appear pretty jagged at times due to aliasing manefestations. Besides texture maps, I also explored the wonders of lighting. I was going for a Romanesque style of columns, and therefore they needed the special ridges. Thanks to the wonders of bump mapping, I have to admit that the most detailed part of my project are the columns, which with the help of fog, contrast nicely with the surrouding environment. I specified the normal vectors of the column in a special manner, according to a sine wave pattern lying on the circle's boundary (hard to explain, easier to visualize). I had also originally planned for an improvement over the repetitive movement of rotating around in a circle around the scene, so I added some additional movement. I had originally planned to add mouse capabilites, and I'm happy to say that they turned out decent. It can be a bit annoying at times, but then I just revert back to the keyboard arrow keys. However, I was unable to control movement to within the boundaries of my environment, namely within the walls of my museum. If one isn't careful, one could wander out into the vastness of space. Then again, I guess it works out, since I don't have a door. All you need to wander into my museum is a day dreamy mind. Throughout this entire program, I had to utilize new GLUT functions that I had never used before or heard of, but the implementation was pretty successful. The controls of my program are as follows: (yes, there are lots, lots of little things to make the program that much more fun to play around with) 'c' - enabling of cull faces 'w' - toggles wireframe mode on and off 'R' and 'r' - increases and decreases rotation angle/speed respectively 'u' - moves forward in the room (only works when view perfectly level with floor) 'b' - moves backward in room (again, only works when view perfectly level) 'v' - toggles security on and off (all lights have to be off) 'f' - toggle fog on and off '1' - toggle light one on and off '2' - toggle light two on and off '3' - toggle light three on and off Mouse - screen will move whenever mouse is moved toward a certain direction