About The Program

Wonder Forest is a scenic program, which simulates a small forest with interactive lighting. Based on Disney’s Tangled, this project is laid out with a random assortment of trees and a lake in the middle. There are also random campfire-like objects in this program. The main goal is to light up all the lanterns and create a more ethereal feeling, much like the movie.

The main inspiration of the program is to combine Animal Crossing: New Horizon and Disney’s Tangled, to create a cute, comfortable scene. Here, lanterns are supposed to fly up and have various models to make it look as smooth as possible. For the sake of my computer’s rendering time and my personal sanity, this program has been reduced, but given better technology, more can be implemented.

Computer Graphic Technologies

  • Blinn-Phong Shading (Texture & Non-Texture).
  • First-Person Camera.
  • Texturing (Skybox, Campire, Walls).
  • Bounding Box Collision Detection (Dummy, Walls, and Lanterns).
  • Particle System (Smoke above bonfire).
  • Hierarchial Model (Link fishing, Dummy pose)

Program Controls

  • First-Person Camera View - Mouse
  • Dummy Movement - WASD Keys
  • Add light - Mouse click
  • ESC - Quit

Reference and Info Links

  • Skybox (linked on Drive for future uses shh): Link
  • Lighting: Link
  • Scene inspiration: Link
  • Poses, lighting inspiration, skybox: Link
  • Main code base: Link
  • Collision detection: Link
  • Website template: Link

Collision Detection

Collision detection was created using bounding spheres and bounding boxes. Each wall, the player, and lantern had their respective bounds with their min and max values acquired from initially loading in. Moreover, every movement, there is a calculation that happens to see if my player’s bounds are within the objects. If so, my player stops moving and can only move the opposite way of the bounds.

Lighting

The lighting uses Blinn-Phong Shading for all the lighting perceptions. The first lighting source is the campfire. It glows slightly to mimic light from the fire. Afterwards, players can add a lightsource to their lookat point and mouse click to “add light” to the lanterns. There is a maximum of 50 lights that can be added. Along this, there was a skybox added from lab 7 that rotates through time.

Particles

There is only one source of where there are particles. It is at the campfire and mimics smoke from a fire. I used the code from lab 8, the particles lab, and changed equations to allow the particles to look like smoke, along with the colors.

Hierarchial Modeling

In the project, the hierarchical modeling is the dummy and the Link. The dummy is posed with its hands up. The Link is moving as if it is fishing. It’s arms are moving and the fishing rods are moving too in a hierarchical way.

Camera

I reused and modified the camera mechanics from lab 7 for a first-person view. It allowed people to look around and feel like they were in the scene. Instead of scrolling, I used mouse movements. Moreover, the camera is set on the head of the person, such that whenever the camera turns around, the model would as well.

All Photos