docs: update README and AGENTS.md to match current project

Updated project description from 'cube timer' to 'OpenGL 3D
renderer with multiple scenes'. Added usage section with CLI
flags and key bindings. Listed both available scenes.

Updated AGENTS.md to include the sphere scene in static
libraries and source layout. Normalized run command to
./build/cuber for cross-platform consistency.
This commit is contained in:
2026-05-06 00:15:43 +02:00
parent a4ef4adfc7
commit 98673b57ff
2 changed files with 55 additions and 33 deletions
+6 -3
View File
@@ -2,7 +2,7 @@
## Project Overview
`cuber` is a simple cube timer application.
`cuber` is an OpenGL 3D renderer with multiple scenes.
## Build System
@@ -15,7 +15,7 @@
```sh
cmake -S . -B build -GNinja
ninja -C build
.\build\cuber.exe
./build/cuber
```
### Dependencies
@@ -36,7 +36,8 @@ The project is split into static libraries:
- **`cbt_opengl`** — OpenGL abstraction and window management (window, context, buffer, texture, vao, shader, descriptor)
- **`cbt_scene`** — Base scene class
- **`scenes_cube`** — Cube scene implementation
- **`scenes_cube`** — Spinning cube scene implementation
- **`scenes_sphere`** — Cube-to-sphere mapped mesh with diffuse lighting
### CMake Module Path
@@ -120,6 +121,8 @@ cuber/
scenes/ # Application scenes
cube.hpp # Spinning cube scene
cube.cpp # Cube scene implementation
sphere.hpp # Cube-to-sphere mapped mesh
sphere.cpp # Sphere scene implementation
deps/ # Custom Find*.cmake scripts
Findfmt.cmake # fmt library
```
+22 -3
View File
@@ -1,6 +1,6 @@
# cuber
`cuber` is a simple cube timer.
`cuber` is an OpenGL 3D renderer with multiple scenes.
## Requirements
@@ -8,6 +8,9 @@
- Ninja
- C++23 compiler
All dependencies (fmt, GLFW, GLAD, asio, GLM, stb) are fetched
automatically via CMake FetchContent.
## Development
**Configure**:
@@ -24,7 +27,23 @@ ninja -C build
**Run**:
```bash
./build/cuber.exe
```sh
./build/cuber
```
## Usage
```
--duration <seconds> Auto-terminate after N seconds (for testing/CI)
--scene <cube|sphere> 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