Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

85 lines
1.7 KiB

//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Helper to display various hmd stats via GUIText
//
//=============================================================================
using UnityEngine;
#if UNITY_2017_2_OR_NEWER
[ExecuteInEditMode]
public class SteamVR_Stats : MonoBehaviour
{
void Awake()
{
Debug.Log("SteamVR_Stats is deprecated in Unity 2017.2 - REMOVING");
DestroyImmediate(this);
}
}
#else
using Valve.VR;
public class SteamVR_Stats : MonoBehaviour
{
public GUIText text;
public Color fadeColor = Color.black;
public float fadeDuration = 1.0f;
void Awake()
{
if (text == null)
{
text = GetComponent<GUIText>();
text.enabled = false;
}
if (fadeDuration > 0)
{
SteamVR_Fade.Start(fadeColor, 0);
SteamVR_Fade.Start(Color.clear, fadeDuration);
}
}
double lastUpdate = 0.0f;
void Update()
{
if (text != null)
{
if (Input.GetKeyDown(KeyCode.I))
{
text.enabled = !text.enabled;
}
if (text.enabled)
{
var compositor = OpenVR.Compositor;
if (compositor != null)
{
var timing = new Compositor_FrameTiming();
timing.m_nSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(Compositor_FrameTiming));
compositor.GetFrameTiming(ref timing, 0);
var update = timing.m_flSystemTimeInSeconds;
if (update > lastUpdate)
{
var framerate = (lastUpdate > 0.0f) ? 1.0f / (update - lastUpdate) : 0.0f;
lastUpdate = update;
text.text = string.Format("framerate: {0:N0}\ndropped frames: {1}", framerate, (int)timing.m_nNumDroppedFrames);
}
else
{
lastUpdate = update;
}
}
}
}
}
}
#endif