ViroCore cross-platform AR/VR renderer
:information_source: | Active development for Viro is now occurring at the Viro Community fork. We encourage all Viro developers to follow and get the latest updates at ViroCommunity/virocore |
---|
ViroCore is SceneKit for Android, a 3D framework for developers to build immersive applications using Java. ViroCore combines a high-performance rendering engine with a descriptive API for creating 3D, AR, and VR apps. While lower-level APIs like OpenGL require you to precisely implement complex rendering algorithms, ViroCore requires only high-level scene descriptions, and code for the interactivity and animations you want your application to perform.
Platforms supported: Android, ARCore, Google Daydream, Samsung GearVR, Google Cardboard VR
The repository contains both the rendering source code, and as well as the ViroCore platform. Both are free to use with no limits on distribution.
To report bugs/issues with the Viro platform, please file new issues on this repository.
ViroCore downloads are available on our Releases page.
You can get up and running with the latest stable release of ViroCore! To do so, simply:
git clone https://github.com/viromedia/virocore.git
.You can also try the latest mainline build containing bleeding edge features and fixes. Please keep in mind that mainline builds may not be as stable as release builds. To do so, simply:
For ViroCore Android, HelloWorld samples should have the corresponding file at the location viro_core/virocore-release-version. As such, simply download the virocore.aar artifact from the workflow above, and then rename (make sure it matches your code sample's name) and replace the virocore-release-v_x_xx_x.aar file in your HelloWorld project
If you would like to modify / make changes to the renderer directly. These are the instructions for building the renderer and ViroCore platform.
git clone https://github.com/viromedia/virocore.git
.$ cd android
$ ./gradlew :virocore:assembleRelease
virocore-*.aar
file (* for the version number) at android/virocore/build/outputs/aar/virocore-*.aar
android/app
in Android Studio and run releasetest
target on your android device.virocore-*.aar
in your own project copy the aar file to viro_core/
in your project and modify your viro_core/build.gradle
to point to the new file.git clone https://github.com/viromedia/virocore.git
.https://github.com/viromedia/viro.git
$ cd android
$ ./gradlew :viroreact:assembleRelease
viroreact-release.aar
file at /viroreact/build/outputs/aar/viroreact-release.aar
.viro/android/viro_renderer/viro_renderer-release.aar
in the viro repo you cloned above in step #3. The build instructions outlined in viro repo will walk you through steps involved in building the react-viro bridge using this built renderer.Make sure you followed through steps 1 - 3 mentioned in the android section.
Execute the following commands to install pods from Podfile
.
cd ios
pod install
Open ViroRenderer.xcworkspace
in Xcode. Build scheme ViroKit
with Build Configuration set to Release
and target set to Generic iOS Device
.
Note:
3.a If you want the ability to run on Simulator,
change target to any of the `iOS Simulator` targets instead of `Generic iOS Device`.
3.b If in your own app project setup, you prefer to include react-viro as a static library
rather than relying on `use_frameworks!` - build scheme `ViroKit_static_lib`
instead of `ViroKit` as mentioned above in step #3.
If the above Xcode build succeeded, you should see a bunch of new files copied over in viro/ios/dist/
folder in the viro repo you cloned earlier. The build instructions outlined in viro repo will walk you through steps involved in building the react-viro bridge using this built renderer.
Viro Media Website: https://viromedia.com/
ViroCore Documentation: https://virocore.viromedia.com/
API Reference(Java Docs): https://developer.viromedia.com/
Join our Slack group here.
Check out our blog for tutorials, news, and updates.