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(); }
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; }