Low-code Front-end Design & Development Platform
시각적 빌더와 헤드리스 콘텐츠 모델링을 지원하는 프론트엔드 개발 플랫폼, 정적 사이트와 UI 개발 도구 제공
저수준 C++ Rive 런타임 및 렌더러
Low-level C++ Rive runtime and renderer
디자인C++ · CGitHub @rive-app직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗
Rive's C++ runtime — the lowest-level Rive runtime. Loads .riv files,
advances state machines and animations, and draws via the abstract
Renderer interface. The built-in GPU renderer (RiveRenderer) has
RenderContextImpl backends for Metal, Vulkan, D3D11, D3D12, and OpenGL/WebGL.
Rive's Apple, Android, Flutter, Unity, Unreal, and web runtimes all wrap this library.
Features:
.riv files.Artboard::advance.Renderer interface for hooking up an external vector renderer.xcode-select --install).apt install clang).premake5 on first run.
On Windows, install Git for Windows and during setup pick
"Use Git and optional Unix tools from the Command Prompt" so that
sh.exe ends up on PATH.The build is driven by premake5 wrapped by a helper script:
build/build_rive.sh — macOS / Linux (bash) / Windows (MinGW).build/build_rive.ps1 — a PowerShell convenience wrapper for Windows; it
shells out to the bash script, so a bash environment (Git for Windows /
MinGW, see Prerequisites) must still be on PATH.The helper self-installs the pinned premake version on first run and dispatches
to the right build system for your platform (gmake2 on macOS/Linux, MSBuild on
Windows). It must be run from a directory that contains a premake5.lua —
typically tests/, which builds the core library, the GPU renderer, and the
player sample app.
git clone https://github.com/rive-app/rive-runtime.git
cd rive-runtime/tests
../build/build_rive.sh release
git clone https://github.com/rive-app/rive-runtime.git
cd rive-runtime\tests
..\build\build_rive.ps1 release
(On Windows, substitute build_rive.ps1 for build_rive.sh.)
build_rive.sh (no args) — debug build for the host.build_rive.sh release clean — clean then build release.build_rive.sh ninja release — use Ninja instead of make/MSBuild.build_rive.sh ios release — cross-compile for iOS.build_rive.sh android release — cross-compile for Android (defaults to arm64).build_rive.sh ninja release wasm — cross-compile for WebAssembly.build_rive.sh --toolset=msc release (Windows) — build with MSVC's cl.exe
instead of clang-cl. The build supports both toolchains; the lua warning
suppressions cover MSVC too.See the comment header at the top of
build/build_rive.sh
for the complete flag reference.
Artifacts land in out/<config>/ relative to the directory you built
from (typically tests/). The config directory encodes any OS/arch flags
you passed:
out/release, out/debug — host build.out/ios_release, out/android_arm64_release, out/wasm_release —
cross-compile builds.| Artifact | Description |
|---|---|
librive.a / rive.lib | Core runtime library. |
librive_pls_renderer.a / rive_pls_renderer.lib | GPU renderer. |
player / player.exe | Sample app — loads and renders a .riv file. |
out/<config>/goldens, out/<config>/gms, out/<config>/bench | Test harness binaries (regression, golden-image, benchmarking). |
librive_decoders.a, librive_harfbuzz.a, … | Supporting libraries. |
The runtime's primary form of testing is golden testing — rendering
known scenes and diffing the output against checked-in reference images
via the goldens and gms test harness binaries (built into
out/<config>/goldens and out/<config>/gms).
See tests/
for how to run and rebaseline goldens.
Unit tests are secondary and use the Catch2 framework. From the repo root:
cd tests/unit_tests
./test.sh
Unit tests live in tests/unit_tests/runtime/ (core runtime) and
tests/unit_tests/renderer/ (renderer). To add a test, create an
xxx_test.cpp file in the appropriate directory — the harness picks it up
automatically.
rive-runtime uses clang-format.
brew install clang-format.clang-format.exe alongside
clang-cl.exe at
C:\Program Files\Microsoft Visual Studio\2022\<edition>\VC\Tools\Llvm\x64\bin\.
You can also install LLVM standalone from
llvm.org or via winget install LLVM.LLVM.apt install clang-format).To run the tests under macOS's built-in leaks tool:
cd tests/unit_tests
./test.sh memory
This wraps the test binary with leaks --atExit, which ships with macOS —
no install required. The memory flag is ignored on Linux and Windows.
To inspect generated assembly per cpp file, install the
Disassembly Explorer
VSCode extension. A disassemble task is provided in .vscode/tasks.json.
The underlying gen assembly task invokes clang++ directly, so it needs
clang++ on PATH — works out of the box on macOS (Xcode CLI tools) and most
Linux distros, but not on a default Windows + VS install (which provides
clang-cl.exe, not clang++.exe).
Reach the task from Tasks: Run Task, or bind a key in keybindings.json:
[
{
"key": "cmd+d",
"command": "workbench.action.tasks.runTask",
"args": "disassemble"
}
]