Open source Opentrack project support multiple inputs, from simple paper tracker Aruco, (I use it with Flightgear and it works great!) to Pointracker DIY hat clip with LEDs.
What Pioneer needs is a UDP socket to receive pitch, yaw, roll, and x-y-z offsets. Here's example from Flightgear protocol:
https://github.com/opentrack/opentrack/ ... fg.cpp#L25
Or some sort of generic (I guess) UDP protocol:
https://github.com/opentrack/opentrack/ ... tn.cpp#L26
So, simply six doubles...
I believe these values should be added on top of these changed by mouse/numpad, so that you can switch to rear camera and then take a look around freely using head tracker.
I see there is Early Oculus Rift support project, not sure how this would conflict.
Anyway, I guess this would need:
- Networking library (if Pioneer does not use something already) as a dependency.
I would suggest boost::asio as Networking TS what is based on asio is coming into C++ standard already.
- Some sort of ExternalTrackingSource infrastructure.
So that cockpit view could access rotations and translations from whatever external source currently active. No need to "marry" Opentrack, there could be other implementations, although Opentrack is flexible enough by supporting multiple input sources itself.