In this lab you will develop an OpenGL application displaying an
animated, procedurally-generated, 3D scene of your own design.
- Animated means the geometry should change/morph/grow on its
own without user interaction, so that you can, e.g., rotate the view while
the object animates.
Hint: timer callbacks.
add_timeout(),
Erco's FLTK Cheat Page (animated lines).
- Procedurally-generated means an algorithm computes/generates
the geometry (rather than just being static or read in from a file).
The algorithm should take one or more parameters which can change over time
to create the animation.
- Provide a way for the user to rotate and pan the view.
You may use the code in CubeView or provide your
own user interface to do this.
You may find
the FLTK OpenGL docs
useful.
- Some ideas: swinging pendulum, animated generation of a 3D
Sierpinski gasket
or other fractal,
ant on a Möbius strip, etc. Be creative, have fun!
- Feel free to add on fancier options, user interface, etc.!
- Extra credit (up to 5pts): add interactive picking of
objects (clicking on an object to select it or fire some other callback).
References
You may find the following links helpful:
Electronic turn-in
Put everything (C++ code, header files, executable, lab
write-up) into a tarball/ZIP and upload it to myCourses under "Lab3":
your_name_lab3.zip