CS475 Assignment: SmallE, Part 1

Pararth Shah 09005009

Compile and Execute:

$ make
$ ./simple

Hierarchical Model:

(Nodes in all CAPITALS represent primitives: explained later)

Smalle:
----Torso
    |----CUBOID
    |----Arm1
    |    |----CYLINDER
    |    |----Wrist
    |         |----SPHERE
    |         |----Finger
    |              |----CUBOID (lower finger)
    |              |----CUBOID (upper finger)
    |
    |----Arm2
    |    |----CYLINDER
    |    |----Wrist
    |         |----SPHERE
    |         |----Finger
    |              |----CUBOID (lower finger)
    |              |----CUBOID (upper finger)
    |
    |----Wheel1
    |    |----CYLINDER (disk)
    |
    |----Wheel2
    |    |----CYLINDER (disk)
    |
    |----Head
         |----CYLINDER (lower neck)
         |----CYLINDER (upper neck)
         |----CUBOID (nose)
         |----Eye1
         |    |----Cornea
         |    |    |----POLYGON
         |    |     
         |    |----Iris
         |         |----CYLINDER
         |
         |----Eye2
         |    |----Cornea
         |    |    |----POLYGON
         |    |
         |    |----Iris
         |         |----CYLINDER

Keyboard Mapping

(use capitals (shift+key) to rotate in opposite direction)

Implementation Details

  1. simple.cpp contains the main program, and all the OpenGL callbacks. It also contains two global variables:
    1. SmallE smalle, which encapsulates all the commands for drawing the bot, and
    2. DisplayLists dl, which encapsulates OpenGL display lists for drawing primitives.
  2. smalle.h and smalle.cpp
  3. config.h
  4. primitives.h and primitives.cpp

Screenshots