Skip to content

eerii/tofu

Repository files navigation

tofu 🌸

tofu is a tiny opengl 3.3 renderer written in c++. it is very barebones and it is meant as a learning project.

Solar system

features

  • 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

examples

  • 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

building

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