// SteamVR System|SDK_SteamVR|002 namespace VRTK { #if VRTK_DEFINE_SDK_STEAMVR using Valve.VR; #endif /// /// The SteamVR System SDK script provides a bridge to the SteamVR SDK. /// [SDK_Description("SteamVR (Standalone:OpenVR)", SDK_SteamVRDefines.ScriptingDefineSymbol, "OpenVR", "Standalone")] public class SDK_SteamVRSystem #if VRTK_DEFINE_SDK_STEAMVR : SDK_BaseSystem #else : SDK_FallbackSystem #endif { #if VRTK_DEFINE_SDK_STEAMVR /// /// The IsDisplayOnDesktop method returns true if the display is extending the desktop. /// /// Returns true if the display is extending the desktop public override bool IsDisplayOnDesktop() { return (OpenVR.System == null || OpenVR.System.IsDisplayOnDesktop()); } /// /// The ShouldAppRenderWithLowResources method is used to determine if the Unity app should use low resource mode. Typically true when the dashboard is showing. /// /// Returns true if the Unity app should render with low resources. public override bool ShouldAppRenderWithLowResources() { return (OpenVR.Compositor != null && OpenVR.Compositor.ShouldAppRenderWithLowResources()); } /// /// The ForceInterleavedReprojectionOn method determines whether Interleaved Reprojection should be forced on or off. /// /// If true then Interleaved Reprojection will be forced on, if false it will not be forced on. public override void ForceInterleavedReprojectionOn(bool force) { if (OpenVR.Compositor != null) { OpenVR.Compositor.ForceInterleavedReprojectionOn(force); } } #endif } }