01/27/03: Progress Report #6

Plan

The goal of this iteration is to organize the current exhibits.  This organization will be followed for all future exhibits as well.&nbps; Also, I plan to code functions to read in a file list of all the exhibits and place them in the rooms to which they belong.

Design

The naming of the museum exhibits is key to their organization.  Instead of using files and trees to separate each section and subsection, I took a leaf from databasing languages.  The first four letters of the file name refer to the section.  Then an underscore separates the section designation from the four-letter subsection designation.  Next comes another underscore before finally, a two-digit number.  The designations are as follows:

  • ERAS: Social Eras
    • TWEN: Twenties
    • THIR: Thirties
    • FORT: Forties
    • FIFT: Fifties
    • SIXT: Sixties
    • SEVE: Seventies
    • EIGH: Eighties
    • NINT: Ninties
    • 2000: 2000
  • ARTS: The Arts
    • MUSI: Music
    • DANC: Dance
    • MOTI: Motion Pictures
    • TELE: Television
  • WARS: Wars
    • WWII: World War II
    • COLD: The Cold War
    • KORE: The Korean War
    • VIET: The Vietnam War
    • PERS: The Persian Gulf War
  • TECH: Technological Innovations
    • ARCH: Architecture: Engineering Feats
    • ENTE: Entertainment
    • TRAN: Transportation

    For example, if a file is labelled TECH_TRAN_01.mov, it is a video that is in the Transportation subsection of the Technological Innovations section.  However, the videos in each subsection are not numbered in chronological order, so TECH_TRAN_01.mov is not the first video in history.

    I started thinking about how I was going to code the program to read in the file names and place them in the proper museum rooms, but through a series of side-tracks, I ended up never getting to it.  Instead, one my classmates ended up helping me fix the lighting of the code.

    Since much of this code is remnants from when my Imagining the Future group was just learning OpenGL, some of the code is redundant and inefficient and contains old bugs.  Most of these problems stem from the lighting--including the two lights and how they always seem to move with respect to the position of the user.  However, with the help of one of my classmates, I eliminated the unnecessary extra light and fixed the remaining light in an unchanging position. This allowed me to turn down the fog and turn up the diffuse light, allowing different planes to show different levels of reflection.  The difference is subtle, but I prefer this version.

    Coding

    Download the code for this iteration: report06-museum.cpp

    You will also need to download the associated textures and text files in order to run this iteration of the code.  You can find these files in the Code page of this website.

    Testing

    Testing for the first goal of this iteration is not really necessary.  However, you can see the video clips I have so far in the Exhibits section.

    As for the second goal of this iteration--it obviously wasn't met, but I did manage to get something accomplished.  Therefore, below are two screengrabs: the one on the left is a screengrab from the former version of the program; the screengrab on the right is from the newer version of the program with modified lighting: