thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #headtracking
opentrack/opentrack ★ 5210 566 APPLICATION

opentrack is a mature desktop head-tracking application (C++/Qt) that computes 6-DOF head pose from many input sources — IR point trackers, ArUco/paper markers, ONNX neural-network face pose estimation, IMU/serial devices, Wiimote, joysticks, eye trackers, and XR glasses — and streams it to games and flight simulators through output protocols such as Freetrack shared memory, TrackIR/NPClient emulation, SimConnect, UDP, X-Plane, virtual joystick (vJoy/libevdev), and a Wine/Proton bridge. The core is a plugin architecture defined in api/plugin-api.hpp (ITracker, IFilter, IProtocol) with dynamic loading, a processing pipeline (logic/pipeline.cpp) that applies axis mapping, centering, relative translation, and filtering, and a main Qt GUI (opentrack/main-window.cpp) for module selection and profile management. The application is organized as dozens of CMake-built plugin modules (tracker-*, proto-*, filter-*) around a compact core of shared infrastructure: a type-safe options/settings framework with versioned migrations, a spline-based response-curve system, cross-platform compatibility helpers (shared memory, timers, math, camera enumeration), and video abstraction. Notable strengths are the clean separation between modules, self-registering plugin macros, and genuinely reusable subsystems (spline library, UKF sigma-point header, settings framework, migration framework). Some modules are research-grade: the Alpha Spectrum adaptive filter (EMA/Brownian/predictive mixture with Rényi entropy), UKF-based deadzone filtering, and ONNX head-pose models. Weaknesses: the codebase carries significant legacy and platform fragmentation — dozens of optional SDK bindings (SimConnect, RealSense, Kinect, Tobii, SteamVR, Oculus Rift) that silently skip on missing SDKs, macOS is explicitly unmaintained, translations are largely unfinished stubs, several modules are experimental (tracker-papertracker, filter-alpha-spectrum), and some bundled third-party code (WiiYourself) has non-free terms. There are also signs of Qt6 migration in progress and mixed OpenCV version requirements. Overall this is an active, real-world, well-architected application with strong reusable components, though the long tail of legacy modules should not be mistaken for production quality.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
── end of results ──
$ submit: