Loading .obj meshes into my scene was a relatively straightforward process. I essentially created an array of programs, attributes, meshes, albedos, etc., and looped through each one in the OnDraw() call to display each one. In order to display copies of a mesh, I actually used a vector of vectors of xform matrices. This sounds confusing, but I needed a way to place a variable number of copies of each mesh around the landscape. This is how I implemented it for the little pile of bones that I added.
In order to make all this easier for myself, I also changed the ObjUtilities class to read in basically any .obj file, regardless of how much junk is interspersed throughout the file. I used a loop that completely ignores any line that doesn’t start with the ‘v’ or ‘f’ that characterize vertices and faces.
None of this was “hard,” but I seriously spent hours placing each of these objects in my scene. Thank god I chose a desert… I don’t think I could have handled any more foliage. Once again, all of my code and ideas came straight from Dr. Johnson, but I have to give a HUGE shout out to Kim (who designed all of my plants) from http://thefree3dmodels.com/! If anyone is looking for models, you can find some of the most ridiculous stuff here. Someone even made a model of Paris… Anyway, here are some images of my scene that are a bit more flattering than the awkward camera shots in my video (good thing I wasn’t demoing the walking part yet).
A birds-eye view
My favorite addition
Finally, here’s a link to my video!