A (Tiny) Amusement Park: Source Code: Source code

In this project, I implement a tiny amusement park by exploring the 3D Modelling and rendering techniques provide by the OpenGL.

Technique implemented:
Technique Requirements Implement at
Texture Mapping Add texture mapped polygonal objects to the environment. Each "object" for grading purposes consists of at least 5 polygons all texture mapped. Different objects require different maps. House, road
Hierarchical Animated Model Add a hierarchical, animated model. The model must combine multiple components in a transformation hierarchy. Different models need different hierarchies. Ferris Wheel
Paramatric Instancing Add an object described by parameters. You must create multiple instances with different parameters, and each class of model counts for separate points, not each instance. Trees (cones on sticks)
Sweep Objects Add an object created as a sweep, either an extrusion or a surface of revolution. The important thing is that it be created by moving some basic shape along a path. The overall object must use at least three different uses of the swept polygon. In other words, something like a cylinder isn't enough, but something like two cylinders joined to form an elbow is. Trees
Subdivision An object defined using the modified butterfly scheme or the subdivision rules for Bezier patches. You must include a key press that refines the model, so that we can see the improved quality. This is a special case for extra points. You get 50 for modified butterfly, and another 50 for Bezier. The sphere example from class can help, somewhat, with this. Small mountain, the stand
Change the Navigation System The navigation system now is not great. Change it to something better. To get all the points, you must have a mode where the viewer rides the roller-coaster. Ride the roller coaster, hotkeys to jump to spcific views (good for demos), many possibilities.


Multiple objects modeled using the same technique must be significantly different in order to gain the additional points. Objects that differ only by a sequence of transformations are not different, nor are parameterized objects that only differ by the parameter. Hierarchical objects with the same hierarchy and animation are not different.

Make models that truly display the underlying technique. For instance, make subdivision surfaces that really are curvy.

Snap Shot