Park Scene By Fina Beauchamp

Project Description

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.

Whole Park Scene

Photogrammetry

Android Prior

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.

Agisoft Android

The textured mesh produced from the photos I took.

Android in Park

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**

    Bunnies and Dogs

    Swing and Android

    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.

    Collision Detection

    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.

    Video Representation

    Lessons Learned...

  • 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.
  • Resources Used

    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.