# cuber `cuber` is an OpenGL 3D renderer with multiple scenes. ![Screenshot of sphere](./res/preview.png) ## Requirements - CMake 3.21+ - Ninja - C++23 compiler All dependencies (fmt, GLFW, GLAD, asio, GLM, stb) are fetched automatically via CMake FetchContent. ## Development **Configure**: ```sh cmake -S . -B build -GNinja ``` **Build**: ```sh ninja -C build ``` **Run**: ```sh ./build/cuber ``` ## Usage ``` --duration Auto-terminate after N seconds (for testing/CI) --scene Select initial scene (default: cube) --screenshot Render one frame, save screenshot, and exit S key Take screenshot (saved as screenshot.png) 1/2 key Switch between cube/sphere scene Q key Quit ``` ## Scenes - **cube** — spinning colored cube with per-face colors - **sphere** — cube-to-sphere mapped mesh with per-face colors and diffuse lighting