Visualization, Spring'98, Yap

HOMEWORK 3:
AUTOMATIC MODEL GENERATION

GENERATOR COMPONENTS

There are 4 components:
  1. NEIGHBORHOOD GENERATOR
    -- input is a file of parameters for a neighborhood. The default file name is "nbhd.param". If you have several neighborhoods, we suggest the name "nbhd0.param, nbhd1.param, etc".
    -- this program generates three output files (street.param, block.param, nbhd.details).
    -- The street.param file is a list of blocks and their parameters.
    -- The block.param is a list of street segments and street intersections and their parameters.
  2. BLOCK GENERATOR
    -- input is block.param file from neigbhorhood generator
    -- output file is block.details, containing detailed description of the blocks.
    -- this output is NOT a sequence of OpenGL commands!
    -- rather, it should be in some higher level language that is specially designed.
    -- We suggest that you make a series of function calls (which in turn calls openGL).
    -- this detail commands will refer to various texture maps. These texture maps are defined in a file called "block.tex".
  3. STREET GENERATOR
    -- input is a street file from the neighborhood generator
    -- output file is street.details, containing a detail description of the streets
    -- pavements are included in this generator
    -- various street details, including street life!
    -- as for block generator output, this output is NOT a sequence of OpenGL commands, but some abstract language (perhaps openGL function calls)
    -- the street.detail commands will refer to various texture maps. These texture maps are defined in a file called "street.tex".
  4. INTEGRATOR GENERATOR
    -- This program combines the details in the files nbhd.details, street.details, block.details to produce an image for any eye/camera specification.
    -- You need to be able to combine several neighborhood files together. E.g., for 2 neighborhoods, you have the following 6 files:
    nbhd1.details, street1.details, block1.details, nbhd2.details, street2.details, block2.details.

    -- Certain details needs to be filled in by the integrator.