private OptionSet DefineOptionSet()
 {
     return(new OptionSet()
            .Add("scriptingbackend=",
                 "Scripting backend to use. IL2CPP is default. Values: IL2CPP, Mono",
                 ParseScriptingBackend)
            .Add("enabledxrtargets=",
                 "XR targets to enable in XR enabled players, separated by ';'. Values: \r\n\"Oculus\"\r\n\"OpenVR\"\r\n\"cardboard\"\r\n\"daydream\"",
                 xrTargets => enabledXrTargets = ParseEnabledXrTargets(xrTargets))
            .Add("playergraphicsapi=", "Optionally force player to use the specified GraphicsDeviceType. Direct3D11, OpenGLES2, OpenGLES3, PlayStationVita, PlayStation4, XboxOne, Metal, OpenGLCore, Direct3D12, N3DS, Vulkan, Switch, XboxOneD3D12",
                 (GraphicsDeviceType graphicsDeviceType) => playerGraphicsApi = graphicsDeviceType)
            .Add("stereoRenderingPath=", "StereoRenderingPath to use for XR enabled players. MultiPass, SinglePass, Instancing. Default is SinglePass.",
                 stereoRenderingPathMode => stereoRenderingPath = TryParse <StereoRenderingPath>(stereoRenderingPathMode))
            .Add("mtRendering", "Enable or disable multithreaded rendering. Enabled is default. Use option to enable, or use option and append '-' to disable.",
                 option => mtRendering = option != null)
            .Add("graphicsJobs", "Enable graphics jobs rendering. Disabled is default. Use option to enable, or use option and append '-' to disable.",
                 option => graphicsJobs = option != null)
            .Add("minimumandroidsdkversion=", "Minimum Android SDK Version to use. Default is AndroidApiLevel24. Use for deployment and running tests on Android device.",
                 minAndroidSdkVersion => minimumAndroidSdkVersion = TryParse <AndroidSdkVersions>(minAndroidSdkVersion))
            .Add("targetandroidsdkversion=", "Target Android SDK Version to use. Default is AndroidApiLevel24. Use for deployment and running tests on Android device.",
                 trgtAndroidSdkVersion => targetAndroidSdkVersion = TryParse <AndroidSdkVersions>(trgtAndroidSdkVersion))
            .Add("appleDeveloperTeamID=", "Apple Developer Team ID. Use for deployment and running tests on iOS device.",
                 appleTeamId => appleDeveloperTeamId = appleTeamId)
            .Add("iOSProvisioningProfileID=", "iOS Provisioning Profile ID. Use for deployment and running tests on iOS device.",
                 id => iOsProvisioningProfileId = id));
 }
        public void Reload(AnyDictionary dict)
        {
            enabled = dict.GetValue <bool>("enabled");

            var deviceListStr = dict.GetValue <string>("devices");

            this.devices = deviceListStr.Split(',');

            var table = StringEnumConverter.Get <StereoRenderingPath>();

            stereoRenderingPath = table[dict.GetValue <string>("stereoRenderingPath")];
        }
Пример #3
0
        static void OnPlayModeChanged(PlayModeStateChange stateChange)
        {
            if (stateChange == PlayModeStateChange.ExitingEditMode)
            {
                s_OriginalStereoPath = PlayerSettings.stereoRenderingPath;
                PlayerSettings.stereoRenderingPath = StereoRenderingPath.SinglePass;
            }

            if (stateChange == PlayModeStateChange.EnteredEditMode)
            {
                PlayerSettings.stereoRenderingPath = s_OriginalStereoPath;
            }
        }
        private bool IsStereoRenderingModeSupported(BuildTargetGroup targetGroup, StereoRenderingPath stereoRenderingPath)
        {
            switch (stereoRenderingPath)
            {
            case StereoRenderingPath.MultiPass:
                return(true);

            case StereoRenderingPath.SinglePass:
                return(BuildTargetDiscovery.PlatformGroupHasVRFlag(targetGroup, VRAttributes.SupportSinglePassStereoRendering));

            case StereoRenderingPath.Instancing:
                return(BuildTargetDiscovery.PlatformGroupHasVRFlag(targetGroup, VRAttributes.SupportStereoInstancingRendering));
            }

            return(false);
        }
        private XRSettings.StereoRenderingMode GetXrStereoRenderingPathMapping(StereoRenderingPath stereoRenderingPath)
        {
            switch (stereoRenderingPath)
            {
            case UnityEditor.StereoRenderingPath.SinglePass:
                return(XRSettings.StereoRenderingMode.SinglePass);

            case UnityEditor.StereoRenderingPath.MultiPass:
                return(XRSettings.StereoRenderingMode.MultiPass);

            case UnityEditor.StereoRenderingPath.Instancing:
                return(XRSettings.StereoRenderingMode.SinglePassInstanced);

            default:
                return(XRSettings.StereoRenderingMode.SinglePassMultiview);
            }
        }
        private bool IsStereoRenderingModeSupported(BuildTargetGroup targetGroup, StereoRenderingPath stereoRenderingPath)
        {
            switch (stereoRenderingPath)
            {
            case StereoRenderingPath.MultiPass:
                return(UnityEngine.Rendering.GraphicsSettings.renderPipelineAsset == null);

            case StereoRenderingPath.SinglePass:
                return(DoesBuildTargetSupportSinglePassStereoRendering(targetGroup));

            case StereoRenderingPath.Instancing:
                return(DoesBuildTargetSupportStereoInstancingRendering(targetGroup));
            }
            ;

            return(false);
        }
Пример #7
0
        public void Reload(AnyDictionary dict)
        {
            enabled = dict.GetValue <bool>("enabled");

            var rawDeviceList = dict.GetList("devices");
            var deviceList    = new List <string>();

            for (var i = 0; i < rawDeviceList.Count; i++)
            {
                var el = rawDeviceList[i] as string;
                if (el != null)
                {
                    deviceList.Add(el);
                }
            }
            this.devices = deviceList.ToArray();

            var table = StringEnumConverter.Get <StereoRenderingPath>();

            stereoRenderingPath = table[dict.GetValue <string>("stereoRenderingPath")];
        }