C++ 运行时
Rive C++ 运行时(rive-cpp)是最底层的 Rive 运行时。它可以加载 .riv 文件、推进状态机和动画,并绘制到任何 Renderer 中 — 可以是 Rive 渲染器(Metal、Vulkan、D3D11、D3D12、OpenGL/WebGL),也可以是你自己的实现。
更高层级的 Rive 运行时(Apple、Android、Flutter、Unity、Unreal)都封装了这个库。
在以下场景中,请使用 C++ 运行时:
- 在 C++ 应用程序或游戏引擎中嵌入 Rive。
- 面向尚未提供 Rive 运行时的平台。
- 将 Rive 接入你自己的渲染器或渲染图。
rocket
入门
构建运行时,并用不到 100 行代码将一个 .riv 文件显示在屏幕上。
microchip
渲染器
为你的平台设置 GPU 后端 — D3D11、D3D12、Metal、Vulkan 或 GL。
file
文件与 Artboard
导入 .riv 文件、查询 artboard,并创建 ArtboardInstance。
diagram-project
状态机
推进场景、转发指针事件,并响应状态变化。
link
数据绑定
使用应用程序状态驱动 Rive ViewModel。
folder-open
资源加载
使用 FileAssetLoader 解析外部图片、字体和音频。
rotate
渲染循环
beginFrame / flush — 每一帧会运行什么,以及它的开销。
puzzle-piece
外部渲染器
实现 Renderer 和 Factory,以使用你自己的 GPU 后端。
架构概览

File / Artboard / StateMachineInstance 对 GPU 一无所知,而 Renderer / RenderContext 对 Rive 内容一无所知。两部分都可以独立工作 — 你可以通过自己的 Renderer 实现来渲染 Rive 内容,也可以用非 Rive 的绘制命令来驱动 RiveRenderer。
支持的平台与 API
| 后端 | 头文件 | 类 |
|---|---|---|
| D3D11 | rive/renderer/d3d11/render_context_d3d_impl.hpp | RenderContextD3DImpl |
| D3D12 | rive/renderer/d3d12/render_context_d3d12_impl.hpp | RenderContextD3D12Impl |
| Metal | rive/renderer/metal/render_context_metal_impl.h | RenderContextMetalImpl |
| Vulkan | rive/renderer/vulkan/render_context_vulkan_impl.hpp | RenderContextVulkanImpl |
| OpenGL / WebGL | rive/renderer/gl/render_context_gl_impl.hpp | RenderContextGLImpl |
源码与许可证
- GitHub: rive-app/rive-runtime
- 许可证:MIT
- 构建系统:premake5