Super Mario 64 OpenGL Application

C++ OpenGL application replicating the Super Mario 64 level "Thwomp's Fortress"


A controllable Mario starts out at the beginning of the classic "Thwomp's Fortress" level and is immediately met with two enemies "Thwomp" and "Whomp."

The player then can walk around the world thanks to the help of the Bullet Physics engine by having an attached invisible capsule-shaped physics body that collides with the ground plane and the rigid hull-shaped physics body associated with the world.

Shading for the models was accomplished using Blinn-Phong shading and the models were generated from .obj files read in via TinyObjLoader.

Player input was managed via GLFW and vector/matrix math for the world utilized GLM.


The user is able to navigate Mario throughout the world using the "w" and "d" keys to move forward/backward and can change Mario's direction left/right using the "a" and "d" keys.

The player can also jump using the "space" key and can choose to zoom the camera out and rotate the camera direction by moving the cursor around while holding the "z" key.

If the user wishes they can also move the light source left/right by hitting the "q" and "e" keys to affect the shading of the models.


  1. Models:
  2. OpenGL:
  3. Bullet Physics:
  4. TinyObjLoader:
  5. GLFW:
  6. GLM: