Changelog: v2.5.8
The 2.5.8 binary package includes matching RaiSim and rayrai headers, libraries, and CMake exports. The public repository builds its examples, TCP viewer, and wrappers against those libraries. Rebuild applications and Python extensions after updating: copying new headers over an older binary package can produce incompatible C++ object layouts even when an application still compiles.
Rayrai memory use and depth cameras
Compatible OpenGL contexts can reuse immutable mesh vertex/index buffers, including primitive and file-backed meshes. Contexts outside the same share group retain separate uploads; VAOs and camera render targets remain local.
RayraiWindow::createOffscreenGlContextjoins the current SDL context’s share group when the calling thread has one. Without a current context it creates an independent root context.RayraiGlobalAsset::sharedGpuAssetStatsreports mesh-buffer uploads and reuse. Its byte counters exclude textures, VAOs, and render targets; they are not a total GPU-memory measurement.A camera constructed from a depth sensor allocates the required depth targets without eagerly allocating an unused full RGB/post-processing pipeline.
The default renderer mode remains ThreadingMode::SingleThread. Applications
that explicitly use worker threads must give each renderer its own current GL
context and use ThreadingMode::MultiThread consistently across the process.
See Performance notes and the C++ API reference and Sensors and depth/LiDAR.
Current sensor and terrain workflows
The current package also includes the recent fixes for stale geometry after
heightmap removal/replacement and TCP sensor/frame visualization. The public
rayrai_heightmap_replacement example demonstrates replacing terrain while
front and rear depth cameras observe the world. The source-built TCP viewer
services manual RGB/depth sensor requests and exposes previews in its Sensors
tab. See Rayrai Example: Heightmap Replacement and
Rayrai TCP Viewer.
Package availability
Use the asset matching the operating system and CPU architecture. Release assets are published separately, so check availability for the desired release. Engine 2 remains an internal world-authoring tool; public RL training workflows use RaisimGymTorch.