@Override
    public void updatePose(){
        int result = VRCompositor.nVRCompositor_WaitGetPoses(trackedDevicePose.address(), trackedDevicePose.remaining(), 0, 0);
        // NPE when calling without a gamePoseArray. Issue filed with lwjgl #418
//        int result = VRCompositor.VRCompositor_WaitGetPoses(trackedDevicePose, null);
        environment.getVRinput().updateControllerStates();

        // read pose data from native
        for (int nDevice = 0; nDevice < VR.k_unMaxTrackedDeviceCount; ++nDevice ){
            if( hmdTrackedDevicePoses[nDevice].bPoseIsValid() ){
                convertSteamVRMatrix3ToMatrix4f(hmdTrackedDevicePoses[nDevice].mDeviceToAbsoluteTracking(), poseMatrices[nDevice]);
            }
        }

        if ( hmdTrackedDevicePoses[VR.k_unTrackedDeviceIndex_Hmd].bPoseIsValid()){
            hmdPose.set(poseMatrices[VR.k_unTrackedDeviceIndex_Hmd]);
        } else {
            hmdPose.set(Matrix4f.IDENTITY);
        }
    }
Initialize the headset camera.
@param allowed <code>true</code> is the use of the headset camera is allowed and <code>false</code> otherwise.
@return token for camera
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVR.java