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