|
|
SpecificationsYou will read the hierarchical definition of an indoor scene that consists of a room that has at least three light sources and several objects in it. You will render that room using smooth shading, soft shadows, and textures. There should be at least one open window and one painting in the room. Extra credit will be given for additional complex or aesthetic models. The overall scene and the objects should be stored hierarchically in a scene graph, each of whose node corresponds to shape, geometry, and other attributes of objects and light. A scene consists of objects, each of which is either a primitive object or a composite object defined recursively. Scenes are given in gfx format. Additionally, you should allow the user to select and move some of the objects and viewpoint; room and light sources are fixed. Each object has a separate coordinate system attached to it. You can store a transformation matrix for each object, which transforms the object coordinates to global coordinates. The objects can be moved by changing their coordinate systems with respect to the world coordinate system. The user of your program should be able to control a variety of options within your rendering using the keyboard and mouse. You may choose which keys control which functions, but make sure they are clearly documented in your README file. Allow the user the following controls
Extra CreditThere are many parts of the homework that are open ended. You can earn bonus points with extremely creative or artistic solutions. Make sure that you mention your assumptions, extra features, and how to run your program in your README file. To get you started, here are some extra credit ideas
|
Scene reader example code |
|
|