Compatibility Guide

Contents

Compatibility Checker

The compatibility checker could help developer to know API deprecated or not.

  • The warning information will be shown in build time if the APIs are used anywhere in the source file.
  • [make/build]This picture will show while building the android apk. Native warning message.
_images/CompatibilityCheckerNative.PNG

Vision

Using wrong frustum would cause content has vision problem, such as black border and content deformation.

  • Developer needs use WVR_GetProjection API to get the correct projection matrix for the specified eye in the Wave compatibility devices.
  • Or developer may use WVR_GetClippingPlaneBoundary API retrieves the boundary of the clipping plane of the frustum.

Controller

Using Controller Model instead of hardcoding model programmatically, if you would like to show device default controller.

  • WVR Controller Model could help developer to make sure the controller model is always update-to-date automatically in the Wave compatibility devices.

Vive Wave controller model supports controllers with animation when touched/pressed/triggered in Wave SDK 4.1.1.

  • Using Controller Animation could help developer doesn’t need to redesign the controller animation to support in the Wave compatibility devices.

Interaction Mode

Vive Wave SDK 4.1.0 supports hand mode to rich user experience for Wave compatibility devices which supports hand tracking.

  • If the device supports hand tracking feature developer could use the WVR_GetInteractionMode to know the current system preferred interaction behavior.
  • WVR_GetInteractionMode could help developer to know interaction mode to switch hand and controller mode by content design to provide rich user experience.
  • Such as launcher and system menu used hand mode developer could check if WVR_GetInteractionMode is WVR_InteractionMode_Hand support hand mode and interaction with controller.

Customized play area boundary

Vive Wave SDK 4.0.0 supports the customized play area boundary in Wave compatibility devices.

  • Vive Wave supports customized boundary area if devices have this feature. Therefore, recommend to use SDK 4.0.0 for content development to make sure UX experience when running on devices which support customized boundary area. If content bases on Wave SDK 3.2.0, it still uses default play area boundary.

Camera

  • Due to the privacy concern by product design, developer may not get camera image successfully in some devices.
  • Vive Wave SDK 4.1.0 supports limited access on camera API.
  • If developer would like use camera image please feel free to contact us for further technical support.

Hand

Using Hand model instead of hardcoding model programmatically, if you would like to show device default hand.

  • WVR Hand Model could help developer to make sure the hand model is always update-to-date automatically in the Wave compatibility devices.

API/behavior change

The table lists the API/behavior change from SDK 4.1.0, 4.2.0 to SDK 4.5.0:

  • Functions
_images/NativeSDKDiffList.png
  • Enums and Structs
_images/NativeSDKDiffList1.png

Compatibility analysis tool

Provide a compatibility check tool based on the key factors of Wave compatibility, which can help application developers to check whether their applications meet the compatibility requirements, and provide a Wave compatibility analysis report to help developers correct problems.

Set up your development environment

  1. Download, install android SDK and launch your |AndroidTM| Studio: https://developer.android.com/studio

2. Download and install Python 3.9 https://www.python.org/downloads/ . Please install python related packages by command “pip3 install numpy” (when you parse the log and see No module named ‘OOO’)

Compatibility tool guide

  1. Developers can use WVR_SetChecker(true/false) to enable/disable the checker feature, it is also recommended to pass the android(java) BuildConfig.DEBUG status as the WVR_SetChecker() parameter. It is easy to enable/disable the inspector feature via build options.
_images/NativeChecker.PNG

Note

The API “WVR_SetChecker” will be call after “WVR_Init” if needed.

  1. Run your application with logcat to file.

  2. Input the logcat file and get the output report to check the application comaptibility information. Run this in command window

    “python CMPChecker.py -i logcat.txt -o report-compatibility.txt -a app.apk”

    or

    “python CMPChecker.py -i logcat.txt -o report-compatibility.txt”

  3. Check the API analytics report, see the list below. Any questions related to these, please feel free to contact wave.

_images/CheckerAPIs.png