8 Frequently Asked Questions

Q1: What should I do if I find the picture upside down in the application?

A: Confirm the label configuration in the manifest file and try to modify the rotation angle

Label:

<meta-data android:name="pvr.display.orientation" android:value="180" />

Or

<meta-data android:name="pvr.display.orientation" android:value="0" />

Q2: The life cycle of the Surface object can be listened in VRActivity. Why does it need another RenderInterface?

A: In VRActivity, it is executed in UIThread. After the Surface object is created, the initialization OpenGL is executed in RenderThread. To draw OpenGL, it must also be executed in this thread, therefore, OpenGL operation should be executed through the interface that implements RenderInterface.

Q3: Before calculating ArmModel, why it is needed to perform the operation of passing in the controller data again? Can’t SDK actively obtain it?

A: ArmModel calculation requires both HMD data and controller data. The core calculation is placed in the so file, and the head-mounted data can obtain actively. However, currently the controller service is an optional module and is not integrated together. Therefore, data needs to be additionally passed in.