Tangerine A small OpenGL 3+ renderer and game engine NOTE: This is still a work in progress Features: vertices pixels TODO: finish node animations from assimp add input abstraction for SDL store meshes separately from entities for reuse add a function to update camera transforms only once per frame, per shader Dependencies: assimp >= 5.0.0 glew glm SDL2 stb_image Build Instructions: install dependencies: Arch) $ sudo pacman -S assimp glew glm sd2 catch2 gcc make Fedora) NOTE: Fedora (33) ships with assimp v3.3.1 which doesn't support glTF2: https://en.wikipedia.org/wiki/GlTF $ sudo dnf install glew-devel glm-devel catch-devel SDL2-devel \ gcc-c++ make cmake checkout, and initialize submodules: (stb_image) $ git submodule init $ git submodule update (optional) checkout large files for running examples: (NOTE: https://git-lfs.github.com/) $ git lfs pull build: $ make NOTE: if build fails with errors from assimp or mesh.cpp, you can build a recent version of assimp first. Requires cmake $ make build_assimp && USE_INTERNAL_ASSIMP=y make to run examples without installing assimp as a system library: $ cd examples/bin $ LD_LIBRARY_PATH=../../ext/assimp/lib ./assimp_loading