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.

  • Client is the interface that accesses the runtime and builds the content scene and logic.
  • 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.
  • 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 import VIVE Wave™ repository with wvr_client. Add this in your build.gradle:

apply from: "$projectDir/build_sdk.gradle"

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            // assign your wavevr local respository
            url "your_SDK_local_path/repo"
        }
    }
}

Note

  • After Download Wave SDK, repository with wvr_client located at your_SDK_local_path/repo.

Also add the dependency with the build.gradle module:

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

Note

  • If using VIVE Wave SDK version older than 3.2.0, you need wvr_client.aar to compile your project.
  • After Download Wave SDK, wvr_client.aar located at your_SDK_local_path/libs. See below:
apply from: "$projectDir/build_sdk.gradle"

repositories {
    flatDir{
        dirs 'libs'
    }
}
dependencies {
    compile 'com.htc.vr.aar:wvr_client.aar'
}

After preparing your build environment, check out the advanced tutorials below.

Advanced Tutorials

VRActivity with Native Code Creating an application using JNI.
Developing with the SDK More information regarding the SDK API.
Render Runtime Tutorials Shows how to use usage of render runtime.
Distortion Correction Theory Explans the distortion theory.
PermissionManager Shows how to use PermissionManager.
IMEManager Shows how to use IMEManager.
Developing with the SDK Overlay Shows how to use WVR Overlay.
Protect Your Content Shows how to protect your content.
Pose Prediction Shows how to enable pose rotation/position over different devices.
How to support 64-bit VR APP Shows how to configure your VR app to support 64-bit.
64 bit Support Limitation Gives information about the limitations of 64bit support.
Debug your application Shows how to debug your application.
Fade current Activity Shows how to fade a current Activity when starting a new Activity.
WaveVR AdaptiveQuality tutorial Introduces the WaveVR adaptiveQuality.
Cast Support Limitation Shows how to support Cast
Frame Sharpness Enhancement(FSE) How to sharpen your content rendering result
Wave MR Scene And Anchor Native Development Guide How to create a MR scene and anchor application
Wave MR Marker Native Development Guide How to create a MR marker application