The full OSVR architecture is shown in the figure to the right and is described in greater detail in this technical white paper
Of course not all of these blocks were required for the CES demos. The demos used the OSVR HDK (Hacker Developer Kit - the open-source goggles), and some combination of the Razer Hydra, the Leap Motion Controller and the Nod Ring. Some of the OSVR HDKs were equipped with its built-in tracker (Bosch BNO070) and others were equipped with the YEI 3-Space Sensor. Various software demos were written, some using Unity and some using the Unreal Engine.
|CES demo architecture|
OSVR has a client/server architecture. The server connects to the hardware devices and performs the analysis if required. The client uses this information. In the diagram to the right, the Unity and Unreal engines are clients, through an OSVR Unity plugin and an OSVR Unreal plugin. Everything else is the OSVR server.
Often, the client and the server would reside on the same machine, but there are also some additional possibilities including:
- Client on one machine, server on another. For instance, you might have the client running on a mobile phone while the server would be a PC that has more processing power and better connectivity to the various peripherals
- Multiple clients connecting to one server on the same machine. For instance, OSVR includes a graphical utility called "Tracker Viewer" that show the orientation and position of the various tracked devices and has proven to be a useful debug tool. TrackerViewer is an OSVR client and it can run concurrently with other applications such as the demos, connecting to the OSVR server.
- One machine running client and server, a second machine running a client. This can create a 'shadow' experience on a remote machine.
- One client connecting to multiple servers. This is useful in some high-end situations where OSVR applications wish to connect to devices (such as ART SmartTrack) that embed a server.
- Position of the left hand: /me/hands/left/position
- Orientation of the left hand: /me/hands/left/orientation
- All resources associated with the left hand: /me/hands/left
- Position of the “0” controller of the Hydra: /razer/hydra/position/0
- Output of the first smoothing filter: /analysis/smooth_filter/0
The post "The OSVR Software Stack at CES" first appeared on the VRguy's blog:www.vrguy.net