- Rive가 자체 제작한 Rive Renderer를 오픈 소스로 공개해, Rive 콘텐츠·애니메이션·런타임에 맞춘 단일 렌더링 기반을 모든 플랫폼에서 사용할 수 있게 함
- 렌더러의 목표는 벡터 그래픽과 선명한 텍스트를 많이 그리면서도 120fps 애니메이션과 높은 안티앨리어싱 품질을 유지하는 것임
- 기존에는 Skia와 HTML Canvas API 등 여러 렌더러에 의존해, 한 백엔드에 없는 기능은 전체 플랫폼에 출시하기 어려웠음
- 단일 렌더러 덕분에 blur, drop shadow, glow, tapered stroke 같은 효과를 여러 런타임에 더 일관되게 추가할 수 있음
- 구현은 안티앨리어싱된 벡터 경로를 삼각형 패치로 줄이고 GPU의 병렬 삼각형 래스터화 파이프라인을 활용하며, iOS·Android·Web에서 활성화 가능하고 Unity·Unreal 런타임에는 이미 통합됨
Rive Renderer 공개와 제작 배경
- Rive Renderer는 Rive 콘텐츠, 애니메이션, 런타임을 위해 자체 제작된 렌더러임
- 벡터 그래픽과 텍스트를 화면에 많이 그리는 상황에서도 120fps 애니메이션과 깨끗한 안티앨리어싱 품질을 목표로 함
- 내부 제작에는 2년이 걸렸고, Rive Editor에서 디자이너가 만드는 시점부터 런타임에서 사용자가 보고 상호작용하는 시점까지 전체 경험을 더 직접 제어할 수 있게 됨
- 런타임에서 빠르게 동작할 콘텐츠만 의도적으로 생성하도록 최적화해, 디자이너가 성능 구현 방식을 덜 신경 쓰고 제작에 집중할 수 있음
여러 렌더러 구조의 한계와 단일 렌더러의 효과
- 초기 Rive는 Skia와 HTML Canvas API 같은 기존 오픈 소스 렌더링 솔루션을 사용함
- 사용자가 원하는 렌더러를 쉽게 연결할 수 있는 bring-your-own-renderer 구조는 계속 지원함
- 하지만 일관되고 최적화된 자체 렌더러가 없으면, 제품 로드맵과 새 기능 개발이 플랫폼별 제약에 묶일 수밖에 없었음
- 여러 렌더러를 쓰는 구조에서는 특정 기능이 한 렌더러에 없을 때 Rive가 실행되는 모든 백엔드에서 동작하지 않아, 해당 기능을 출시하기 어려웠음
- 단일 렌더러로 추가하기 쉬워지는 효과에는 blurs, drop shadows, glows, tapered strokes 등이 포함됨
구현 방식과 플랫폼 지원
- Rive Renderer는 안티앨리어싱된 벡터 경로를 고유한 삼각형 패치로 줄이는 기하학적 방식에 기반함
- 데스크톱과 모바일 GPU에 기본 제공되는 대규모 병렬 삼각형 래스터화 파이프라인을 활용함
- 특정 삼각분할 방식으로 3D 하드웨어를 사용해 Bézier 곡선을 그림
- 서드파티 렌더러 사용은 계속 가능하지만, Rive 고유 기능과 전반적 경험을 위해서는 Rive Renderer 사용이 권장됨
- iOS, Android, Web에서는 공식 안내를 따라 Rive Renderer를 활성화할 수 있음
- 코드는 GitHub에 공개되어 있으며, Unity와 Unreal 런타임에는 통합되어 있고 추가 통합도 예정되어 있음