Rerun 数据流可视化搭建:从零到第一个窗口,3 个 SDK 完整跑通
【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun
Rerun 是一个开源的多模态数据流可视化工具:手里有一批点云、视频和位姿数据,它给你开一个本地窗口,看数据动起来、暂停、放大。一端记日志,另一端渲染成三维画面。跟着下面的步骤走完,你会得到一个能从源码运行的 Viewer,以及 Python、Rust、C++ 三个可以本地构建、能打调试的 SDK。
这套环境长什么样
全部装好之后,你手里是五样东西:
- 一个能直接跑的 Viewer:调试产物在
target/debug/rerun,发布产物在target/release/rerun; - Python SDK:源码在 rerun_py/,本地构建后
import rerun即可用,还能产出可安装的 wheel; - Rust SDK:核心 crate 集中在 crates/,cargo 可直接构建、测试;
- C++ SDK:
rerun_cpp/,由 CMake 驱动,构建入口在 rerun_cpp/CMakeLists.txt; - 一条调试链路:VS Code 可以对 Viewer 和各语言示例打断点。
后面几节只做一件事:把这五样东西跑出来。
最快路径:从零到第一个窗口
先确认你的系统在下列范围内:
| 操作系统 | 最低配置 | 推荐配置 |
|---|---|---|
| Linux | Ubuntu 20.04+,GCC 9+ | Ubuntu 22.04,GCC 11+ |
| macOS | macOS 11+,Xcode 13+ | macOS 13+,Xcode 14+ |
| Windows | Windows 10+,VS 2019+ | Windows 11+,VS 2022+ |
Linux 下装 build-essential、Rust 1.88.0 与 Pixi 0.41.4
sudo apt update && sudo apt install -y build-essential git git-lfs curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source $HOME/.cargo/env rustup install 1.88.0 rustup default 1.88.0 curl -fsSL https://pixi.sh/install.sh | bash pixi self-update --version 0.41.4macOS 与 Windows:同样三步,换包管理器
macOS 把第一行换成:
brew install git git-lfs之后装 Rust、Pixi 的步骤与 Linux 相同。Windows 分三步走:装 Git for Windows(安装时勾选 "Enable symbolic links",装完执行git lfs install);装好 rustup 后执行与上面相同的rustup install 1.88.0两行;装好 Pixi 后执行pixi self-update --version 0.41.4。
克隆仓库并跑过 check-env 校验
git clone https://gitcode.com/GitHub_Trending/re/rerun cd rerun git lfs install git lfs pull pixi run check-env这个脚本会逐个核对 pixi、cargo、rustc 的版本,任何一项对不上都会以非零码退出,逻辑见 scripts/check_env.py。
从源码装 Rerun Viewer,打开第一个窗口
pixi run rerun💧 第一次执行要编译整个工作区,是全程最慢的一步,可以先去倒杯水。
窗口弹出来,就是你想要的 Viewer。想要发布版,同一条命令加--release参数即可,产物落在target/release/rerun。
按语言开工
Python:本地构建 SDK,用 minimal 示例开窗口
这节的目标是:让import rerun在当前环境生效,并用一个彩色点云示例开起窗口。
pixi run py-build需要可安装的 wheel 时,再走打包流程:
pixi run py-build-wheels-sdk-only pip install ./dist/CURRENT_ARCHITECTURE/*.whl跑示例:
cd examples/python/minimal pixi run python minimal.pyminimal.py 的核心就四行:
rr.init("rerun_example_minimal", spawn=True) positions = np.vstack([xyz.ravel() for xyz in np.mgrid[3 * [slice(-10, 10, 10j)]]]).T colors = np.vstack([rgb.ravel() for rgb in np.mgrid[3 * [slice(0, 255, 10j)]]]).astype(np.uint8).T rr.log("my_points", rr.Points3D(positions, colors=colors, radii=0.5))敲完运行,窗口里出现一簇带颜色渐变的三维点。
Rust:构建库并跑通 minimal 示例
这节的目标是:把 crates 工作区编译过,让 minimal 示例打开同样的点云。
cargo build --all-features cargo run -p minimal示例在 examples/rust/minimal/src/main.rs:一个 10×10×10 的网格点,颜色按坐标渐变,日志逻辑和 Python 版完全一致。cargo test --all-features可以跑全部测试,cargo doc --all-features --no-deps --open生成 API 文档。
C++:用 CMake 构建并运行 minimal 示例
这节的目标是:C++ SDK 与示例在当前机器上能编过、能跑起来。
pixi run -e cpp cpp-build-all cd examples/cpp/minimal cmake -B build cmake --build build ./build/minimalSDK 构建是否有问题,用pixi run -e cpp cpp-test验证。
让它跑得更快
🐢 编译太慢:换一个更快的链接器
Rerun 是静态链接,最后一步链接最慢。Linux 上装 mold:
sudo apt install mold再往~/.cargo/config.toml里写:
[target.x86_64-unknown-linux-gnu] linker = "clang" rustflags = [ "-C", "link-arg=-fuse-ld=/usr/bin/mold", "-C", "split-debuginfo=unpacked", ]macOS 思路相同:Intel 芯片装 zld(brew install michaeleisel/zld/zld),在对应 target 的 rustflags 里加-C", "link-arg=-fuse-ld=/usr/local/bin/zld"。Windows 则在[target.x86_64-pc-windows-msvc]下写linker = "rust-lld.exe"和-C", "split-debuginfo=packed",先执行rustup component add llvm-tools-preview装好 LLVM 工具链。
🧊 用 sccache 吃掉重复编译
cargo install sccache export RUSTC_WRAPPER=sccache export SCCACHE_CACHE_SIZE="256G"之后重复编译的大部分代码直接命中缓存,第二次全量构建会明显变快。
🐞 断点进不去:让 VS Code 指向编译产物
在项目根目录建.vscode/launch.json,用 lldb 启动 Viewer:
{ "version": "0.2.0", "configurations": [ { "name": "Rerun Viewer", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/target/debug/rerun", "MIMode": "lldb" } ] }装上 rust-analyzer、CodeLLDB、Crates 三个插件。想调试 Rust 示例时,再加一个 lldb 配置指向minimal包,写法相同。
卡住了,先查这里
| 现象 | 原因 | 一条动作 |
|---|---|---|
linker 'cc' not found | Linux 缺编译器 | sudo apt install build-essential |
fatal error: 'EGL/egl.h' file not found | 缺图形库 | sudo apt install libegl1-mesa-dev libgl1-mesa-dev libglu1-mesa-dev,macOS 用brew install mesa |
| Windows 链接错误 | 缺 VS 2022 与 Windows SDK | 在 VS 自带的命令提示符里编译 |
| 窗口打不开 | 显卡不支持 WebGPU | export RERUN_ENABLE_SOFTWARE_RASTERIZER=1(Windows 用set RERUN_ENABLE_SOFTWARE_RASTERIZER=1) |
| 中文显示成方块 | 默认字体缺中文字形 | 在 Viewer 的 Appearance 选项卡把 Font Family 设为系统中文字体,重启 |
下一步去哪
- 示例集:
examples/下按 python、rust、cpp、c 组织,结构一致,挑一个跑通再看别的。 - 官方文档:docs/content/
- 常用开发任务(完整配置见 pixi.toml),
pixi task list可查全部:pixi run lint跑所有代码检查pixi run fmt格式化所有代码pixi run test跑所有测试pixi run docs生成所有文档
- 参与贡献:先看 CONTRIBUTING.md 的流程,风格对齐 CODE_STYLE.md,提交 PR 前跑一遍
pixi run pre-push。
窗口开起来之后,把示例里的演示点云换成你自己的数据,这个窗口就是你的了。
【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考