void R_MME_JitterView( float *pixels, float *eyes ) { mmeBlurControl_t* blurControl = &blurData.control; mmeBlurControl_t* passControl = &passData.control; if ( !shotData.take || tr.finishStereo ) { shotData.take = qfalse; return; } if ( blurControl->totalFrames ) { int i = blurControl->totalIndex; pixels[0] = mme_blurJitter->value * blurData.jitter[i][0]; pixels[1] = mme_blurJitter->value * blurData.jitter[i][1]; } if ( passControl->totalFrames ) { int i = passControl->totalIndex; float scale; float focus = shotData.dofFocus; float radius = shotData.dofRadius; R_MME_ClampDof(&focus, &radius); scale = r_znear->value / focus; scale *= radius * R_MME_FocusScale(focus);; eyes[0] = scale * passData.jitter[i][0]; eyes[1] = scale * passData.jitter[i][1]; } }
qboolean R_MME_JitterOrigin( float *x, float *y, qboolean useMain ) { mmeBlurControl_t *passControl; shotData_t *shotData; passData_t *passData; *x = 0; *y = 0; if (useMain) { passControl = &passDataMain.control; shotData = &shotDataMain; passData = &passDataMain; } else { passControl = &passDataLeft.control; shotData = &shotDataLeft; passData = &passDataLeft; } if ( passControl->totalFrames ) { int i = passControl->totalIndex; float scale; float focus = shotData->dofFocus; float radius = shotData->dofRadius; R_MME_ClampDof(&focus, &radius); scale = radius * R_MME_FocusScale(focus); *x = scale * passData->jitter[i][0]; *y = -scale * passData->jitter[i][1]; return qtrue; } return qfalse; }
qboolean R_MME_JitterOrigin( float *x, float *y ) { mmeBlurControl_t* passControl = &passData.control; *x = 0; *y = 0; if ( !shotData.take || tr.finishStereo ) { shotData.take = qfalse; return qfalse; } if ( passControl->totalFrames ) { int i = passControl->totalIndex; float scale; float focus = shotData.dofFocus; float radius = shotData.dofRadius; R_MME_ClampDof(&focus, &radius); scale = radius * R_MME_FocusScale(focus); *x = scale * passData.jitter[i][0]; *y = -scale * passData.jitter[i][1]; return qtrue; } return qfalse; }
void R_MME_JitterView( float *pixels, float *eyes, qboolean useMain ) { mmeBlurControl_t *blurControl; mmeBlurControl_t *passControl; shotData_t *shotData; passData_t *passData; if (useMain) { shotData = &shotDataMain; blurControl = &shotDataMain.control; passControl = &passDataMain.control; passData = &passDataMain; } else { shotData = &shotDataLeft; blurControl = &shotDataLeft.control; passControl = &passDataLeft.control; passData = &passDataLeft; } if ( blurControl->totalFrames ) { int i = blurControl->totalIndex; pixels[0] = mme_blurJitter->value * shotData->jitter[i][0]; pixels[1] = mme_blurJitter->value * shotData->jitter[i][1]; } if ( passControl->totalFrames ) { int i = passControl->totalIndex; float scale; float focus = shotData->dofFocus; float radius = shotData->dofRadius; R_MME_ClampDof(&focus, &radius); scale = r_znear->value / focus; scale *= radius * R_MME_FocusScale(focus);; eyes[0] = scale * passData->jitter[i][0]; eyes[1] = scale * passData->jitter[i][1]; } }