Upgrade HW3 by extending the carpet into the third dimension: each square now becomes a cube, while still lying within the same plane. The cubes are able to rotate around their own center in any direction within the 3D space (think of a good way to take that input from the user). In addition, add camera motion and rotation in all three dimensions, so that we can zoom in between the cubes and see them from the side. Again, think of a good way to take input to control the camera from the user. You can use either perspective or orthographic projection.
Submit your code to the respective dropbox in Blackboard. It won't hurt to upload it somewhere, too, and put the link in the submission comments.