Skip to content

benpm/gl_playground

Repository files navigation

GL Playground

Big mess of things including assignments for Interactive Computer Graphics, Physics-Based Animation, and Computational Geometry courses from spring 2023 at University of Utah. Things are super spread out so take a look at some of the branches

Features

  • Directional, spot, and point lights, all with basic shadow-mapping
  • Interactive rigid body physics
  • Multi-material objects, basic shading
  • Surface nets generated in a compute shader
  • Really slow softbody physics solver

Assets

Before doing anything you need to download the externally-hosted assets. On Linux you can just run the download_assets.sh script. Otherwise, you'll have to download and unzip the archive manually.

Building

Linux

You might need to install a couple packages:

  • libxinerama-dev
  • libglu1-mesa-dev
  • libxi-dev
  • ninja-build

Then let CMake handle the rest:

cmake -B build
cmake --build build

Windows

Open project as a CMake project, click "Build All", and hope for the best. You might want to install Ninja.

Running

./build/app or .\build\app.exe

Dependencies

These dependencies are either included or managed by CMake and built locally: