Beispiel #1
0
 private static void InitializeHMD()
 {
     hmdInitLastAttempt = DateTime.Now;
     try {
         InitializeOpenVR();
         hmdState = HmdState.Initialized;
         Utils.Log("Initialized OpenVR.");
     } catch (Exception e) {
         hmdState = HmdState.InitFailed;
         Utils.LogError("InitHMD failed: " + e);
         HmdIsEnabled = false;
     }
 }
Beispiel #2
0
        private static void ProcessHmdState()
        {
            switch (hmdState)
            {
            case HmdState.Uninitialized:
                if (HmdIsEnabled)
                {
                    hmdState = HmdState.Initializing;
                }
                break;

            case HmdState.Initializing:
                InitializeHMD();
                break;

            case HmdState.InitFailed:
                if (DateTime.Now.Subtract(hmdInitLastAttempt).TotalSeconds > 10)
                {
                    hmdState = HmdState.Uninitialized;
                }
                break;
            }
        }
Beispiel #3
0
 /// <summary>
 /// Shuts down the OpenVR API.
 /// </summary>
 private void CloseHMD()
 {
     HmdIsEnabled = false;
     OpenVR.Shutdown();
     hmdState = HmdState.Uninitialized;
 }
Beispiel #4
0
 private static extern void ReadHMDState(ref HmdState state);