//----------------------------------------------------------------------------
void SEColorNormalDepthEffect::OnLoadPrograms(int, SEProgram* pVProgram, 
    SEProgram*, SEProgram*)
{
    SEUserConstant* pUC = pVProgram->GetUC("fFarClipDist");
    if( pUC )
        pUC->SetDataSource(&ms_fFarCilpDist);
}
//----------------------------------------------------------------------------
void SEGaussianBlurHEffect2::OnLoadPrograms(int, SEProgram* pVProgram, 
    SEProgram*, SEProgram*)
{
    if( !ms_bUCInitialized )
    {
        SEUserConstant* pUC = pVProgram->GetUC("TexelKernelStep");
        SE_ASSERT( pUC );

        if( pUC )
        {
            pUC->SetDataSource((float*)ms_TexelKernelStep);
        }

        ms_bUCInitialized = true;
    }
}
//----------------------------------------------------------------------------
void SEScreenSpaceAOBlurEffect::OnLoadPrograms(int, SEProgram*, 
    SEProgram* pPProgram, SEProgram*)
{
    if( !ms_bTexelKernelUCInitialized )
    {
        char tempName[16]; // "TexelKernel[xx]"

        for( int i = 0; i < KERNEL_COUNT; i++ )
        {
            SESystem::SE_Sprintf(tempName, 16, "TexelKernel[%d]", i);
            SEUserConstant* pUC = pPProgram->GetUC(tempName);
            SE_ASSERT( pUC );

            if( pUC )
                pUC->SetDataSource((float*)ms_aTexelKernel[i]);
        }

        ms_bTexelKernelUCInitialized = true;
    }
}