The park scene created for this project was generated using OpenGL, GLSL, and C++. There are various park-like objects within the scene including dogs, bunnies, a swing set, and a teeter-totter. Also, I wanted to explore placing objects created using photogrammetry into my world, so I included an Android figure I created using Agisoft's photoscan software.
I took a number of photos of an Android figure and used photoscan software to generate the 3D mesh, which I then used in my project.
The textured mesh produced from the photos I took.
The Android object placed in the park.
Animations and Navigation
W - Zoom in
S - Zoom out
A - Strafe left
D - Strafe right
I - Move swing
T - Move teeter-totter
R - Make dog run
J - Make bunnies jump
** Moving the mouse will move the viewer's eye to explore the scene**
Other Project Features
Textures and Materials
The grass, sandbox, dogs, and skybox all have textures applied to them, while all other objects are made up of materials.
The project has collision detection between the viewer's eye to the objects in the space and the viewer's eye to the edge of the world.
Photogrammetry can be difficult to get right. The images I took which created a successful 3D mesh, were from my 2nd try on the object (having tried 5 other objects prior). To make the pictures produce a successful 3D mesh, its best to have great lighting, a decent camera, an ideal object, and enough pictures to get every perspective of the object.
Issues within memory can occur. While I tried debugging the issues causing my program to crash, the most time effective solution was to work around the bug, rather than trying to find it. This created some limiting factors within my project, but I am still happy with the outcome.
lldb debugger tutorial. I learned the basics of this tool when my game began crashing due to abort trap failures.
A link to skybox texture files, one of which I used in my project.
A database of 10,911 3D mesh files (to be used for educational use only), where I found the teeter-totter and swing set meshes.