public void OnDrawFrame(HeadTransform head, EyeParams leftEye, EyeParams rightEye) { mStereoRenderer.OnNewFrame(head); GLES20.GlEnable(GLES20.GlScissorTest); leftEye.getViewport().setGLViewport(); leftEye.getViewport().setGLScissor(); mStereoRenderer.OnDrawEye(leftEye.getTransform()); if (rightEye == null) { return; } rightEye.getViewport().setGLViewport(); rightEye.getViewport().setGLScissor(); mStereoRenderer.OnDrawEye(rightEye.getTransform()); }
public RendererHelper(CardboardView view, CardboardView.Renderer renderer) { mView = view; mRenderer = renderer; mHmd = new HeadMountedDisplay(mView.mHmd); mHeadTransform = new HeadTransform(); mMonocular = new EyeParams(EyeParams.Eye.MONOCULAR); mLeftEye = new EyeParams(EyeParams.Eye.LEFT); mRightEye = new EyeParams(EyeParams.Eye.RIGHT); UpdateFieldOfView(mLeftEye.getFov(), mRightEye.getFov()); mView.mDistortionRenderer = new DistortionRenderer(); mLeftEyeTranslate = new float[16]; mRightEyeTranslate = new float[16]; mVRMode = mView.mVRMode; mDistortionCorrectionEnabled = mView.mDistortionCorrectionEnabled; mDistortionCorrectionScale = mView.mDistortionCorrectionScale; mZNear = mView.mZNear; mZFar = mView.mZFar; mProjectionChanged = true; }