Terminal-based ASCII 3D model viewer written in C++
- Real-time 3D rendering in the terminal
- ASCII shading based on surface lighting
- Z-buffer for correct depth and occlusion
- Supports OBJ and STL models
- Polygon triangulation for complex OBJ faces
- Optional material colors (when supported)
- Automatic rotation or interactive mode
- C++17 compatible compiler
ncurses
g++ -std=c++17 -O3 -Wall src/*.cpp -o voxcii -lncurses
Or with Makefile:
make
./voxcii [options] model.obj
| Flag | Description |
|---|---|
-i, --interactive |
Enable manual rotation |
-c, --color |
Enable colored rendering |
-z, --zoom <value> |
Initial zoom (default: 100) |
| Key | Action |
|---|---|
+/- |
Zoom in/out |
| Arrow keys | Rotate (interactive mode) |
q |
Quit |
.obj(with optional.mtlmaterial colors).stl(ASCII and binary)
- Output quality depends on terminal size and font
- Color support depends on terminal + ncurses capabilities
- OBJ material colors require the
.mtlfile to be present
PRs and issues are welcome
© 2025-present Ashish Kumar
