This is the Intel RealSense SDK 2.0 (librealsense), a cross-platform C++ library for controlling and streaming data from Intel RealSense depth cameras (D400, D500 series). It provides a unified API for depth, color, infrared, and IMU streams, with hardware abstraction layers for USB (libusb, WinUSB, USBHost), UVC, HID, MIPI, and DDS (Data Distribution Service) network transport. The SDK includes a rich processing pipeline with composable filters (alignment, point cloud generation, decimation, temporal/spatial filtering, HDR merge, colorization) and supports GPU acceleration via CUDA, HIP, OpenGL, and NEON SIMD. It is not a single application but a library with multiple end-user tools (RealSense Viewer, firmware updater, ROS bag converter, DDS adapter, REST API server) and extensive language wrappers for Python, C#, Java/Android, Unity, Unreal Engine, MATLAB, OpenCV, and OpenNI2. The codebase is well-engineered with a modular architecture, extensive unit/integration tests (including live hardware tests), and a comprehensive build system (CMake with vendored third-party dependencies). While the core is actively maintained and demonstrates strong craftsmanship, the large surface area of wrappers and vendored dependencies introduces some technical drift (e.g., outdated ROS Kinetic generated headers, old Unity project version).
OrbbecSDK is a cross-platform C/C++ software development kit for Orbbec 3D cameras, supporting depth, color, infrared, and IMU sensors. It provides both a high-level Pipeline API for easy stream management and a low-level Device/Sensor API for fine-grained control. The architecture is library-based with a C API (ObSensor.h) and a C++ wrapper (ObSensor.hpp), following a consistent pattern of context creation, device enumeration, stream configuration, frame acquisition, and post-processing via composable filters. Key entry points include Context (device discovery), Pipeline (streaming), Device (property control), and Filter (alignment, point cloud generation, noise removal, etc.). Data flows involve configuring stream profiles, starting the pipeline, receiving frames (depth, color, IR, IMU), applying filters (e.g., depth-to-color alignment, HDR merge, spatial/temporal filtering), and optionally recording or replaying streams. External dependencies include OpenCV for example visualizations, cJSON for multi-device synchronization configuration, and platform-specific USB drivers. The SDK is used in robotics, AR/VR, industrial inspection, and 3D scanning applications.