Tutorials

This section provides several tutorials to help you learn how to use the VIVE Wave™ SDK to develop VR applications to run on Android devices.

The VIVE Wave™ runtime is constructed using a 3-way client-server-pluginkit architecture.

  • The client is the interface that accesses the runtime and builds the content scene and logic.
  • The server is the runtime core that routes the tracking data of VR accessories to the client and manages the common properties, resources, and settings of the VR system.
  • The pluginkit is the device driver of the VR accessory that sends tracking data and user interaction data to the runtime.

In one Android device, multiple client applications can connect to the same server that has multiple VR device drivers plugged-in. Upgraded servers and plugins are backward compatible with previously published client applications. This backwards compatibility makes it easier to maintain the server and extend VR accessories.

When developing an application, you can use the activity type: com.htc.vr.sdk.VRActivity. The design of your application will determine the activity type. The client activity will start the server in the background for your application, and generate an OpenGL context for your content to draw.

To access the life cycle of VRActivity, your project needs to compile with wvr_client.aar. Add this in your build.gradle:

apply from: "$projectDir/build_sdk.gradle"

repositories {
    flatDir{
        dirs 'libs'
    }
}

dependencies {
    compile 'com.htc.vr.aar:wvr_client.aar'
}

After your build environment is prepared, go through the advanced tutorials below.

Advanced Tutorials

VRActivity with Native Code Creating an application using JNI
Develop with Wave SDK Describe SDK API further
Render Runtime The usage of render runtime
Distortion Correction Theory For the distortion theory explanation