//==================================================================== // Actualiza los efectos PostProcessing //==================================================================== void InClientMode::UpdatePostProcessingEffects() { PostProcessParameters_t pProcessParameters; C_IN_Player *pPlayer = C_IN_Player::GetLocalInPlayer(); if ( !pPlayer ) return; if ( !pPlayer->GetActivePostProcessController() ) return; // Obtenemos los parametros del controlador del Jugador pProcessParameters = pPlayer->GetActivePostProcessController()->m_PostProcessParameters; pPlayer->DoPostProcessingEffects( pProcessParameters ); SetPostProcessParams( &pProcessParameters ); }
void ClientModeSDK::UpdatePostProcessingEffects() { C_PostProcessController *pNewPostProcessController = NULL; C_SDKPlayer* pPlayer = C_SDKPlayer::GetLocalPlayer(); if ( pPlayer ) { pNewPostProcessController = pPlayer->GetActivePostProcessController(); } // Figure out new endpoints for parameter lerping if ( pNewPostProcessController != m_pCurrentPostProcessController ) { m_LerpStartPostProcessParameters = m_CurrentPostProcessParameters; m_LerpEndPostProcessParameters = pNewPostProcessController ? pNewPostProcessController->m_PostProcessParameters : PostProcessParameters_t(); m_pCurrentPostProcessController = pNewPostProcessController; float flFadeTime = pNewPostProcessController ? pNewPostProcessController->m_PostProcessParameters.m_flParameters[ PPPN_FADE_TIME ] : 0.0f; if ( flFadeTime <= 0.0f ) { flFadeTime = 0.001f; } m_PostProcessLerpTimer.Start( flFadeTime ); } // Lerp between start and end float flLerpFactor = 1.0f - m_PostProcessLerpTimer.GetRemainingRatio(); for ( int nParameter = 0; nParameter < POST_PROCESS_PARAMETER_COUNT; ++ nParameter ) { m_CurrentPostProcessParameters.m_flParameters[ nParameter ] = Lerp( flLerpFactor, m_LerpStartPostProcessParameters.m_flParameters[ nParameter ], m_LerpEndPostProcessParameters.m_flParameters[ nParameter ] ); } SetPostProcessParams( &m_CurrentPostProcessParameters ); }