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); }
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); } }