Build the examples and configure your cameras
Compile the example viewers against the SDK, then point them at your own rig.
Build on Windows
This produces example\build\Release\viewer_opengl_*.exe, with the SDK runtime DLLs copied beside them so they run directly.
Build on Ubuntu
If the loader cannot find the shared objects at run time:
Debug builds
To build the viewers against the debug SDK, build them in Debug:
Windows:
cmake --build build --config DebugUbuntu: configure with
-DCMAKE_BUILD_TYPE=Debug
The build then links <prefix>/lib/debug/ and copies the d-suffixed debug runtime DLLs next to each executable. On Linux the .so are found via RPATH, or set LD_LIBRARY_PATH=<prefix>/lib/debug. This needs an export that includes the Debug build. Debug and Release build trees can coexist.
Import your real devices into config/
[!WARNING] The
config/tree ships with per-device folders namedAAAA-BBBB-CCCC-0129,…-0138and so on. These are placeholder examples for the demo rig - they are almost certainly not your cameras, and their calibration is not deployed space.
Run the manager viewer:
Press
Ito list the cameras discovered on your LAN. Those are your real device IDs.Press
Cand type a device ID to connect it. On connect, the manager reads that camera's owndevice_config.json,capture_config.jsonandsensor_config.jsonand writes them intoconfig/<device-id>/.Repeat once per camera. You then have a
config/<device-id>/folder for every real device, ready for the streaming and segment viewers'--devicesargument.
Supply the calibration
Every config/<device-id>/sensor_config.json contains a "Sensor to World Extrinsic" - a 4×4 row-major matrix giving that camera's pose in the shared world frame. This is what places each camera's cloud into one common coordinate system so multiple cameras overlap instead of drifting apart, and it is what 3D segmentation fuses against.
This matrix comes from Calibration. Flowbit Calibration computes it and syncs it for you. Do not compute it by hand.
RESOLVE(software): State the exact mechanism. Does the SDK read
calibration_result.jsondirectly, or must each matrix be copied intosensor_config.json? The original SDK documentation instructs developers to "measure/calibrate your own rig and edit this matrix per camera", with no mention of Flowbit Calibration - the two documents describe two different workflows. Seedocs-restructure-plan/PLAN.md§4, gap 4.
Depth to Color Extrinsic and the intrinsics in the same file come from the device and normally need no editing.
Advanced: setting the extrinsic manually
Identity places the camera at the world origin. Symptoms of a wrong extrinsic are clouds that do not line up, or detections that ghost or land in the wrong place.