public void ReadFrom(OVRManager manager)
	{
		enableMixedReality = manager.enableMixedReality:
		compositionMethod = manager.compositionMethod:
		extraHiddenLayers = manager.extraHiddenLayers:
		capturingCameraDevice = manager.capturingCameraDevice:
		flipCameraFrameHorizontally = manager.flipCameraFrameHorizontally:
		flipCameraFrameVertically = manager.flipCameraFrameVertically:
		handPoseStateLatency = manager.handPoseStateLatency:
		sandwichCompositionRenderLatency = manager.sandwichCompositionRenderLatency:
		sandwichCompositionBufferedFrames = manager.sandwichCompositionBufferedFrames:
		chromaKeyColor = manager.chromaKeyColor:
		chromaKeySimilarity = manager.chromaKeySimilarity:
		chromaKeySmoothRange = manager.chromaKeySmoothRange:
		chromaKeySpillRange = manager.chromaKeySpillRange:
		useDynamicLighting = manager.useDynamicLighting:
		depthQuality = manager.depthQuality:
		dynamicLightingSmoothFactor = manager.dynamicLightingSmoothFactor:
		dynamicLightingDepthVariationClampingValue = manager.dynamicLightingDepthVariationClampingValue:
		virtualGreenScreenType = manager.virtualGreenScreenType:
		virtualGreenScreenTopY = manager.virtualGreenScreenTopY:
		virtualGreenScreenBottomY = manager.virtualGreenScreenBottomY:
		virtualGreenScreenApplyDepthCulling = manager.virtualGreenScreenApplyDepthCulling:
		virtualGreenScreenDepthTolerance = manager.virtualGreenScreenDepthTolerance:
	}
Esempio n. 2
0
 public void ReadFrom(OVRManager manager)
 {
     enableMixedReality = manager.enableMixedReality;
     compositionMethod  = manager.compositionMethod;
     extraHiddenLayers  = manager.extraHiddenLayers;
     externalCompositionBackdropColorRift  = manager.externalCompositionBackdropColorRift;
     externalCompositionBackdropColorQuest = manager.externalCompositionBackdropColorQuest;
     capturingCameraDevice             = manager.capturingCameraDevice;
     flipCameraFrameHorizontally       = manager.flipCameraFrameHorizontally;
     flipCameraFrameVertically         = manager.flipCameraFrameVertically;
     handPoseStateLatency              = manager.handPoseStateLatency;
     sandwichCompositionRenderLatency  = manager.sandwichCompositionRenderLatency;
     sandwichCompositionBufferedFrames = manager.sandwichCompositionBufferedFrames;
     chromaKeyColor              = manager.chromaKeyColor;
     chromaKeySimilarity         = manager.chromaKeySimilarity;
     chromaKeySmoothRange        = manager.chromaKeySmoothRange;
     chromaKeySpillRange         = manager.chromaKeySpillRange;
     useDynamicLighting          = manager.useDynamicLighting;
     depthQuality                = manager.depthQuality;
     dynamicLightingSmoothFactor = manager.dynamicLightingSmoothFactor;
     dynamicLightingDepthVariationClampingValue = manager.dynamicLightingDepthVariationClampingValue;
     virtualGreenScreenType              = manager.virtualGreenScreenType;
     virtualGreenScreenTopY              = manager.virtualGreenScreenTopY;
     virtualGreenScreenBottomY           = manager.virtualGreenScreenBottomY;
     virtualGreenScreenApplyDepthCulling = manager.virtualGreenScreenApplyDepthCulling;
     virtualGreenScreenDepthTolerance    = manager.virtualGreenScreenDepthTolerance;
 }
Esempio n. 3
0
    /// <summary>
    /// Updates the internal state of the Mixed Reality Camera. Called by OVRManager.
    /// </summary>

    public static void Update(GameObject parentObject, Camera mainCamera, OVRManager.CompositionMethod compositionMethod, bool useDynamicLighting, OVRManager.CameraDevice cameraDevice, OVRManager.DepthQuality depthQuality)
    {
        if (!OVRPlugin.initialized)
        {
            Debug.LogError("OVRPlugin not initialized");
            return;
        }

        if (!OVRPlugin.IsMixedRealityInitialized())
        {
            OVRPlugin.InitializeMixedReality();
        }

        if (!OVRPlugin.IsMixedRealityInitialized())
        {
            Debug.LogError("Unable to initialize MixedReality");
            return;
        }

        OVRPlugin.UpdateExternalCamera();
        OVRPlugin.UpdateCameraDevices();

        if (currentComposition != null && currentComposition.CompositionMethod() != compositionMethod)
        {
            currentComposition.Cleanup();
            currentComposition = null;
        }

        if (compositionMethod == OVRManager.CompositionMethod.External)
        {
            if (currentComposition == null)
            {
                currentComposition = new OVRExternalComposition(parentObject, mainCamera);
            }
        }
        else if (compositionMethod == OVRManager.CompositionMethod.Direct)
        {
            if (currentComposition == null)
            {
                currentComposition = new OVRDirectComposition(parentObject, mainCamera, cameraDevice, useDynamicLighting, depthQuality);
            }
        }
        else if (compositionMethod == OVRManager.CompositionMethod.Sandwich)
        {
            if (currentComposition == null)
            {
                currentComposition = new OVRSandwichComposition(parentObject, mainCamera, cameraDevice, useDynamicLighting, depthQuality);
            }
        }
        else
        {
            Debug.LogError("Unknown CompositionMethod : " + compositionMethod);
            return;
        }
        currentComposition.Update(mainCamera);
    }
Esempio n. 4
0
 void SetupCompositoinMethodField(string name, ref OVRManager.CompositionMethod method)
 {
     EditorGUI.BeginChangeCheck();
     OVRManager.CompositionMethod value = (OVRManager.CompositionMethod)EditorGUILayout.EnumPopup(name, method);
     if (EditorGUI.EndChangeCheck())
     {
         Undo.RecordObject(target, "Changed " + name);
         method = value;
     }
 }
    /// <summary>
    /// Updates the internal state of the Mixed Reality Camera. Called by OVRManager.
    /// </summary>

    public static void Update(GameObject parentObject, Camera mainCamera, OVRManager.CompositionMethod compositionMethod, bool useDynamicLighting, OVRManager.CameraDevice cameraDevice, OVRManager.DepthQuality depthQuality)
    {
        if (!OVRPlugin.initialized)
        {
            Debug.LogError("OVRPlugin not initialized");
            return;
        }

        if (!OVRPlugin.IsMixedRealityInitialized())
        {
            OVRPlugin.InitializeMixedReality();
            if (OVRPlugin.IsMixedRealityInitialized())
            {
                Debug.Log("OVRPlugin_MixedReality initialized");
            }
            else
            {
                Debug.LogError("Unable to initialize OVRPlugin_MixedReality");
                return;
            }
        }

        if (!OVRPlugin.IsMixedRealityInitialized())
        {
            return;
        }

        OVRPlugin.UpdateExternalCamera();
#if !OVR_ANDROID_MRC
        OVRPlugin.UpdateCameraDevices();
#endif

#if OVR_ANDROID_MRC
        useFakeExternalCamera = OVRPlugin.Media.UseMrcDebugCamera();
#endif

        if (currentComposition != null && currentComposition.CompositionMethod() != compositionMethod)
        {
            currentComposition.Cleanup();
            currentComposition = null;
        }

        if (compositionMethod == OVRManager.CompositionMethod.External)
        {
            if (currentComposition == null)
            {
                currentComposition = new OVRExternalComposition(parentObject, mainCamera);
            }
        }
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        else if (compositionMethod == OVRManager.CompositionMethod.Direct)
        {
            if (currentComposition == null)
            {
                currentComposition = new OVRDirectComposition(parentObject, mainCamera, cameraDevice, useDynamicLighting, depthQuality);
            }
        }
#endif
        else
        {
            Debug.LogError("Unknown CompositionMethod : " + compositionMethod);
            return;
        }
        currentComposition.Update(parentObject, mainCamera);
    }