tofu is a tiny opengl 3.3 renderer written in c++. it is very barebones and it is meant as a learning project.
- basic glfw and opengl setup
- shader loading
- multiple objects per buffer
- instanced rendering
- optional deferred rendering and framebuffer support
- pseudo compute shaders (using transform feedback)
- basic camera
- basic material support
- imgui customizable interface
- solar system 🪐: a complete example with multiple objects, instanced rendering, compute shaders, occlusion culling, deferred rendering and more
- crane 🏗️: a simple example with a single object that can be controlled with the keyboard
- raymarching 🌈: shader only rendering with raymarching
you will need make and a c++ compiler that supports c++17.
git clone https://github.com/eerii/tofu.git
cd tofu/examples/[example]
make