private void UpdateStereoCompositerAndRefresh(StereoCompositerSystem stereoCompositerSystem)
 {
     if (_currSystemDesc.stereoCompositerSystem == stereoCompositerSystem)
     {
         return;
     }
     _stereoCompositer.Stop();
     InitializeStereoCompositer(stereoCompositerSystem);
 }
Exemplo n.º 2
0
        public static ISRDStereoCompositer CreateStereoCompositer(StereoCompositerSystem system)
        {
            var switcher = new Dictionary <StereoCompositerSystem, Func <ISRDStereoCompositer> >()
            {
                { StereoCompositerSystem.SRD, () => { return(new SRDStereoCompositer()); } },
                { StereoCompositerSystem.PassThrough, () => { return(new SRDPassThroughStereoCompositer()); } }
            };

            return(switcher[system]());
        }
        private void InitializeStereoCompositer(StereoCompositerSystem stereoCompositerSystem)
        {
            if (!_cachedStereoCompositer.TryGetValue(stereoCompositerSystem, out _stereoCompositer))
            {
                _stereoCompositer = SRDStereoCompositerFactory.CreateStereoCompositer(stereoCompositerSystem);
                _cachedStereoCompositer[stereoCompositerSystem] = _stereoCompositer;
            }

            _currSystemDesc.stereoCompositerSystem = stereoCompositerSystem;
            _stereoCompositer.Start();
        }
 public SRDSystemDescription(FaceTrackerSystem faceTracker, EyeViewRendererSystem eyeViewRenderer, StereoCompositerSystem stereoCompositer)
 {
     faceTrackerSystem      = faceTracker;
     eyeViewRendererSystem  = eyeViewRenderer;
     stereoCompositerSystem = stereoCompositer;
 }