Пример #1
0
void CCameraManager::ResetPP()
{
	IRender_Target*		T	= ::Render->getTarget();
	T->set_duality_h		(pp_identity.duality.h);
	T->set_duality_v		(pp_identity.duality.v);
	T->set_blur				(pp_identity.blur);
	T->set_gray				(pp_identity.gray);
	T->set_noise			(pp_identity.noise.intensity);
	T->set_noise_scale		(pp_identity.noise.grain);
	T->set_noise_fps		(pp_identity.noise.fps);
	T->set_color_base		(pp_identity.color_base);
	T->set_color_gray		(pp_identity.color_gray);
	T->set_color_add		(pp_identity.color_add);
}
Пример #2
0
void CCameraManager::ApplyDevice (float _viewport_near)
{
	// Device params
	Device.mView.build_camera_dir(m_cam_info.p, m_cam_info.d, m_cam_info.n);

	Device.vCameraPosition.set	( m_cam_info.p );
	Device.vCameraDirection.set	( m_cam_info.d );
	Device.vCameraTop.set		( m_cam_info.n );
	Device.vCameraRight.set		( m_cam_info.r );

	// projection
	Device.fFOV					= m_cam_info.fFov;
	Device.fASPECT				= m_cam_info.fAspect;
	Device.mProject.build_projection(deg2rad(m_cam_info.fFov), m_cam_info.fAspect, _viewport_near, m_cam_info.fFar);

	if( g_pGamePersistent && g_pGamePersistent->m_pMainMenu->IsActive() )
		ResetPP					();
	else
	{
		pp_affected.validate		("apply device");
		// postprocess
		IRender_Target*		T		= ::Render->getTarget();
		T->set_duality_h			(pp_affected.duality.h);
		T->set_duality_v			(pp_affected.duality.v);
		T->set_blur					(pp_affected.blur);
		T->set_gray					(pp_affected.gray);
		T->set_noise				(pp_affected.noise.intensity);

		clamp						(pp_affected.noise.grain,EPS_L,1000.0f);

		T->set_noise_scale			(pp_affected.noise.grain);

		T->set_noise_fps			(pp_affected.noise.fps);
		T->set_color_base			(pp_affected.color_base);
		T->set_color_gray			(pp_affected.color_gray);
		T->set_color_add			(pp_affected.color_add);
	}
}