// handle OCSVRWorksCameraRig events private void updateFoveationPattern(OCSVRWorksCameraRig cameraRig) { var overfillProj = predictedMotionProvider.leftProjection; var overfillAspect = overfillProj.width / overfillProj.height; cameraRig.UpdateFoveationPatternProps(predictedMotionProvider.foveationInnerRadius, predictedMotionProvider.foveationMiddleRadius, 1 / (overfillAspect >= 1.0f ? overfillProj.height : overfillProj.width)); }
private void Awake() { _msg = new NetMQ.Msg(); cameraRig = GetComponent <AirVRCameraRig>(); _foveatedRenderer = GetComponent <OCSVRWorksCameraRig>(); liveMotionProvider = new MPPLiveMotionDataProvider(); predictedMotionProvider = new AirXRPredictedMotionProvider(this, liveMotionProvider); gameEventEmitter = new AirXRGameEventEmitter(cameraRig); }
private void Awake() { _owner = GetComponentInParent <MotionPredictionPlayback>(); _leftEyeAnchor = transform.Find("LeftEye"); _leftEyeCamera = _leftEyeAnchor.GetComponent <Camera>(); _rightEyeAnchor = transform.Find("RightEye"); _rightEyeCamera = _rightEyeAnchor.GetComponent <Camera>(); foveatedRenderer = GetComponent <OCSVRWorksCameraRig>(); foveatedRenderer.OnUpdateFoveationPattern += onUpdateFoveationPattern; foveatedRenderer.OnUpdateGazeLocation += onUpdateGazeLocation; }
private void updateGazeLocation(OCSVRWorksCameraRig cameraRig) { var config = this.cameraRig.GetConfig(); if (config == null) { return; } var leftProj = predictedMotionProvider.leftProjection; var rightProj = predictedMotionProvider.rightProjection; var leftGaze = new OCSVRWorksCameraRig.GazeLocation { x = -leftProj.center.x / leftProj.width, y = -leftProj.center.y / leftProj.height }; var rightGaze = new OCSVRWorksCameraRig.GazeLocation { x = -rightProj.center.x / rightProj.width, y = -rightProj.center.y / rightProj.height }; cameraRig.UpdateGazeLocation(leftGaze, rightGaze); }
private void onUpdateGazeLocation(OCSVRWorksCameraRig cameraRig) { foveatedRenderer.UpdateGazeLocation(_leftGazeLocation, _rightGazeLocation); }
private void onUpdateFoveationPattern(OCSVRWorksCameraRig cameraRig) { foveatedRenderer.UpdateFoveationPatternProps(_foveationPatternInnerRadius, _foveationPatternMiddleRadius, _foveationPatternScale); }