ViroCore Oculus 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.
The repository contains both the rendering source code, and as well as the ViroCore platform, primarily for the Oculus Quest platform. Both are free to use with no limits on distribution.
To report bugs/issues related to Viro-Oculus, please file new issues on this repository.
Built releases can be seen under the build folder. To actually re-build the renderer yourself, look at the Manual building steps shown below.
There's 2 ways to get started with ViroCore.
With this option, you can simply get up and running quickly with a skeletal hello world demo.
- Clone the repo into your workspace with git:
git clone https://github.com/viromedia/virocore-oculus.git
. - Go to the code-sample directory to access the HelloWorld code sample, and open the root directory in Android studio.
- Build and deploy.
- You should now be in the application! Enjoy!
(If using this option, you will have to rebuild the renderer whenever making rendering changes!)
With this option, you can actually re-compile the renderer itself and run an Android activity that manually tests certain 3D components.
- Clone the repo into your workspace with git:
git clone https://github.com/viromedia/virocore-oculus.git
. - Go to the /android directory from within the project's root dir. Open this directory in Android Studio.
- Ensure that you are building to "rendertest".
- Target your device and build. This should target this activity.
(If using this option, you Do Not have to rebuild the renderer whenever making rendering changes!)
If you would like to modify / make changes to the renderer directly. These are the instructions for building the renderer and ViroCore platform.
- Follow the same prerequisite directions above from our Quick start guide.
- Clone this repo into your workspace with git:
git clone https://github.com/viromedia/virocore-oculus.git
. - Clone the react-viro repo (named viro) in the same workspace (same parent directory as virocore) with git:
https://github.com/viromedia/viroreact-oculus.git
- Execute the following commands to build the ViroCore platform library
$ cd android $ ./gradlew :viroreact:assembleRelease
- If the above gradle build succeeded, verify you see a new
viroreact-release.aar
file atviro/android/viro_renderer/viro_renderer-release.aar
. The build instructions outlined in ViroReact Oculus repo will walk you through steps involved in building the react-viro bridge using this built renderer.
Note that a copy of the built renderer is also seen under the build folder.
- Follow the same prerequisite directions above from our Quick start guide.
- Clone this repo into your workspace with git:
git clone https://github.com/viromedia/virocore-oculus.git
. - Execute the following commands to build the ViroCore platform library
$ cd android $ ./gradlew :virocore:assembleRelease
- If the above gradle build succeeded, verify you see a
virocore-*.aar
file (* for the version number) atandroid/virocore/build/outputs/aar/virocore-*.aar
- To use this updated / newly built
virocore-*.aar
in your own project copy the aar file toviro_core/
in your project and modify yourviro_core/build.gradle
to point to the new file.
Note: ViroCore tests are not situable for running (As they were tailored for GVR / AR environemnt like testing).
Viro Media Website: https://viromedia.com/
ViroCore Documentation: https://virocore.viromedia.com/
API Reference(Java Docs): https://developer.viromedia.com/
Oculus Android Configuration Docs: https://developer.oculus.com/documentation/native/android/mobile-native-manifest/?device=QUEST
Check out our blog for tutorials, news, and updates.