The Rive Renderer is a vector and raster graphics renderer custom-built for Rive content, for animation, and for runtime.
This repository contains the renderer code and an example for how to interface with it directly. The code within this repository does not contain a Rive runtime. It contains the best in class concrete implementation of Rive's rendering abstraction layer, which we call the Rive Renderer.
Make sure to clone this repo with submodules!
git clone --recurse-submodules git@github.com:rive-app/rive-renderer.git
cd submodules/rive-cpp/skia/dependencies
./make_glfw.sh
Grab the binary from the premake5 GitHub releases: https://github.com/premake/premake-core/releases/ or you can build your own for Apple Silicon:
git clone --depth 1 --branch master https://github.com/premake/premake-core.git
cd premake-core
make -f Bootstrap.mak osx PLATFORM=ARM
# binaries will be in bin/release/* put them in your path
python3 -m pip install ply
PREMAKE_PATH="$(pwd)/submodules/rive-cpp/build" premake5 gmake2 --with_rive_text --config=release --out=out/release
cd out/release
make -j20
# run path_fiddle
./path_fiddle [/path/to/my.riv]
PREMAKE_PATH="$(pwd)/submodules/rive-cpp/build" premake5 gmake2 --with_rive_text --config=release --arch=wasm --out=out/wasm_release
cd out/wasm_release
# Ensure your emsdk_env is configured.
make -j20 path_fiddle
# serve to http://localhost:5555/
python3 -m http.server 5555
h
/H
: add/subtract copies to the left and right (only when a .riv is provided)j
/J
: add/subtract copies below (only when a .riv is provided)k
/K
: add/subtract copies above (only when a .riv is provided)p
: pause runtime (for benchmarking the renderer in isolation)a
: toggle "atomic" mode