woby is a desktop OBJ scene viewer for loading, inspecting, arranging, and saving Wavefront OBJ models.
- Load Wavefront OBJ and STL model files from the UI, command line, drag and drop, or recursive folder import.
- Open, save, and drag in
.wobyscene files with persisted model paths, scene tree hierarchy, helper visibility, up-axis, render modes, transforms, opacity, color, and vertex-size settings. - Inspect scenes with mouse and keyboard camera controls for orbit, pan, roll, dolly, local movement, and quick reframe.
- View renderer, FPS, vertex, and triangle counts while working.
- Toggle the origin axes, adaptive ground grid, and Y-up or Z-up scene orientation.
- Control visibility at the scene, folder, file, and mesh-group levels with tri-state master controls.
- Render each group as solid mesh, triangle edges, vertices, or any combination of those modes.
- Adjust global, per-file, and per-group vertex point sizes.
- Arrange files and groups with translation, rotation, scale, opacity, and reset controls.
- Assign and reset per-group display colors.
- Remove files from a scene without touching the source model files.
- Load large model batches and scenes in the background with progress, cancellation, and unsaved-change prompts.
Run the app:
.\build\vs2026-vcpkg\bin\Debug\woby.exeLoad OBJ files:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --file C:\path\to\model.obj
.\build\vs2026-vcpkg\bin\Debug\woby.exe --file C:\path\to\a.obj --file C:\path\to\b.objLoad all OBJ files in a folder recursively:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --folder C:\path\to\modelsLoad a folder recursively and mirror nested directories in the scene tree:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --folder-tree C:\path\to\modelsOpen a saved scene:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --scene C:\path\to\scene.woby
.\build\vs2026-vcpkg\bin\Debug\woby.exe --woby C:\path\to\scene.wobyOpen a scene and add OBJ files to it:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --scene C:\path\to\scene.woby --file C:\path\to\model.objPrint the application version:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --versionEnable file logging:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --log-level info --log-file C:\path\to\woby.logLogging is off by default. Supported log levels are off, trace, debug, info, warn, error, and critical.
At info, debug, or trace, the log includes startup, scene, folder scan, and OBJ load performance entries.
Enable frame performance logging:
.\build\vs2026-vcpkg\bin\Debug\woby.exe --log-level info --log-file C:\path\to\woby.log --log-performance
.\build\vs2026-vcpkg\bin\Debug\woby.exe --log-level info --log-file C:\path\to\woby.log --log-performance --log-frame-interval 60 --log-slow-frame-ms 20Frame performance logging is opt-in. --log-frame-interval controls how many frames are summarized per log entry, and defaults to 120. --log-slow-frame-ms logs individual frames whose total duration exceeds the provided threshold.
Set VCPKG_ROOT to your vcpkg checkout, then configure and build the Debug preset:
$env:VCPKG_ROOT="C:\path\to\vcpkg"
cmake --preset vs2026-vcpkg
cmake --build --preset vs2026-vcpkgRun tests:
ctest --preset vs2026-vcpkg