Adreno 308 had a few issues:
* Crash from drawing too many instances, which we work around by
breaking them up with glFlush.
* Compiler failure from the compiler declaring a 3.1 bulitin in ESSL
3.0, which we work around with a #define.
* The advertised max texture size is 8192, but textures larger than
2048 seem to not work with EXT_multisampled_render_to_texture.
Either way, we shouldn't have any gms larger than 2048 since that's
the bare minimum per the spec. Shrink the larger gms down to 2048.
Rive had an issue as well:
* With EXT_multisampled_render_to_texture but not
KHR_blend_equation_advanced, we were trying to use the same texture
for both msaa and the dstRead. Separate these into their own
textures.
Rive iOS
An iOS/macOS runtime library for Rive that supports both UIKit, AppKit, and SwiftUI.
The library is distributed both through Swift Package Manager and Cocoapods.
Table of contents
- ⭐ Rive Overview
- 🚀 Getting Started & API docs
- 🔍 Supported Devices
- 📚 Examples
- 🏃 Migration Guides
- 👨💻 Contributing
- ❓ Issues
Rive overview
Rive is a real-time interactive design and animation tool that helps teams create and run interactive animations anywhere. Designers and developers use our collaborative editor to create motion graphics that respond to different states and user inputs. Our lightweight open-source runtime libraries allow them to load their animations into apps, games, and websites.
🏡 Homepage
Getting started
To get started with Rive Apple runtime, check out the following resources:
For more information, see the Runtime sections of the Rive help documentation:
Supported platforms
Supported platforms include iOS, macOS, tvOS, and visionOS. For the minimum supported versions, see Package.swift.
Examples
Check out the Example-iOS/ folder for code examples on how to use the Rive Apple runtime.
Open RiveRuntime.xcworkspace in Xcode and ensure the selected scheme is set to Preview (iOS) or Preview (macOS), based on what platform you want to preview. These schemes make use of the Swift Package Manager package of the Rive Apple runtime, and are the schemes you should use to preview the Rive examples.
Note: The other targets are for local development and require additional configuration and set-up. See Customizing the build schemes for a project for instructions to switch schemes, and CONTRIBUTING.md for more information. You should not use these schemes unless you are making changes to the underlying C++ runtime.
The example showcases a number of ways to use the high-level RiveViewModel API through UIKit and SwiftUI examples, including:
- Setting a Rive file via a URL or asset in the bundle
- Setting layout and loop mode options
- Displaying single or multiple animations / artboards on one component
- Setting up and maniuplating a state machine via inputs
- ...and more!
Awesome Rive
For even more examples and resources on using Rive at runtime or in other tools, checkout the awesome-rive repo.
Migration guides
Using an older version of the runtime and need to learn how to upgrade to the latest version? Check out the migration guides below in our help center that help guide you through version bumps; breaking changes and all!
Contributing
We love contributions! Check out our contributing docs to get more details into how to run this project, the examples, and more all locally.
Issues
Have an issue with using the runtime, or want to suggest a feature/API to help make your development life better? Log an issue in our issues tab! You can also browse older issues and discussion threads there to see solutions that may have worked for common problems.
