コード例 #1
0
ファイル: tr_mme.cpp プロジェクト: dpadgett/jaMME
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];
	}

}
コード例 #2
0
ファイル: tr_mme.c プロジェクト: brugal/wolfcamql
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;
}
コード例 #3
0
ファイル: tr_mme.cpp プロジェクト: dpadgett/jaMME
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;
}
コード例 #4
0
ファイル: tr_mme.c プロジェクト: brugal/wolfcamql
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];
	}
}