private void UpdateEyeViewRendererAndRefresh(EyeViewRendererSystem eyeViewRendererSystem)
 {
     if (_currSystemDesc.eyeViewRendererSystem == eyeViewRendererSystem)
     {
         return;
     }
     _eyeViewRenderer.Stop();
     InitializeEyeViewRenderer(eyeViewRendererSystem);
 }
        private void InitializeEyeViewRenderer(EyeViewRendererSystem eyeViewRendererSystem)
        {
            if (!_cachedEyeViewRenderer.TryGetValue(eyeViewRendererSystem, out _eyeViewRenderer))
            {
                _eyeViewRenderer = SRDEyeViewRendererFactory.CreateEyeViewRenderer(eyeViewRendererSystem);
                _cachedEyeViewRenderer[eyeViewRendererSystem] = _eyeViewRenderer;
            }

            _currSystemDesc.eyeViewRendererSystem = eyeViewRendererSystem;
            _isStereoTextureRegistered            = false;

            _eyeViewRenderer.Start();
        }
Example #3
0
        public static ISRDEyeViewRenderer CreateEyeViewRenderer(EyeViewRendererSystem system)
        {
            var switcher = new Dictionary <EyeViewRendererSystem, Func <ISRDEyeViewRenderer> >()
            {
                {
                    EyeViewRendererSystem.UnityRenderCam, () =>
                    {
                        return(new SRDEyeViewRenderer());
                    }
                },
                {
                    EyeViewRendererSystem.Texture, () => {
                        return(new SRDTexturesBasedEyeViewRenderer(null, null));
                    }
                },
            };

            return(switcher[system]());
        }
 public SRDSystemDescription(FaceTrackerSystem faceTracker, EyeViewRendererSystem eyeViewRenderer, StereoCompositerSystem stereoCompositer)
 {
     faceTrackerSystem      = faceTracker;
     eyeViewRendererSystem  = eyeViewRenderer;
     stereoCompositerSystem = stereoCompositer;
 }