/virocore-oculus

An Oculus specific version of ViroCore

Primary LanguageC++MIT LicenseMIT

ViroCore Oculus

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.

Releases

Built releases can be seen under the build folder. To actually re-build the renderer yourself, look at the Manual building steps shown below.

Quick Start

There's 2 ways to get started with ViroCore.

Option 1: Running sample code instructions

With this option, you can simply get up and running quickly with a skeletal hello world demo.

  1. Clone the repo into your workspace with git: git clone https://github.com/viromedia/virocore-oculus.git.
  2. Go to the code-sample directory to access the HelloWorld code sample, and open the root directory in Android studio.
  3. Build and deploy.
  4. You should now be in the application! Enjoy!

(If using this option, you will have to rebuild the renderer whenever making rendering changes!)

Option 2: Running Render Activity instructions

With this option, you can actually re-compile the renderer itself and run an Android activity that manually tests certain 3D components.

  1. Clone the repo into your workspace with git: git clone https://github.com/viromedia/virocore-oculus.git.
  2. Go to the /android directory from within the project's root dir. Open this directory in Android Studio.
  3. Ensure that you are building to "rendertest".
  4. 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!)

Manual Re-Building of the Renderer

If you would like to modify / make changes to the renderer directly. These are the instructions for building the renderer and ViroCore platform.

Building the renderer to be used in react-viro platform:

  1. Follow the same prerequisite directions above from our Quick start guide.
  2. Clone this repo into your workspace with git: git clone https://github.com/viromedia/virocore-oculus.git.
  3. 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
  4. Execute the following commands to build the ViroCore platform library
    $ cd android
    $ ./gradlew :viroreact:assembleRelease
    
  5. If the above gradle build succeeded, verify you see a new viroreact-release.aar file at viro/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.

Building the ViroCore platform:

  1. Follow the same prerequisite directions above from our Quick start guide.
  2. Clone this repo into your workspace with git: git clone https://github.com/viromedia/virocore-oculus.git.
  3. Execute the following commands to build the ViroCore platform library
    $ cd android
    $ ./gradlew :virocore:assembleRelease
    
  4. If the above gradle build succeeded, verify you see a virocore-*.aar file (* for the version number) at android/virocore/build/outputs/aar/virocore-*.aar
  5. To use this updated / newly built 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.

Note: ViroCore tests are not situable for running (As they were tailored for GVR / AR environemnt like testing).

More Information

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.