void tpDynamicToneMappingManager::SetMethode(tpDynamicToneMappingManager::TypeMethode m)
{
	m_methode = m;

	UpdateFilter();
	ComputeLuminance();
}
void tpDynamicToneMappingManager::SetRayon(int v)
{
	m_rayon = v;

	UpdateFilter();
	ComputeLuminance();
}
void tpDynamicToneMappingManager::ResetModification(bool recompute)
{
	m_image.copy(m_imageCache);

	if(recompute)
	{
		ComputeLuminance();
	}
}
void tpDynamicToneMappingManager::SetPixel(int x, int y)
{
	m_x = x;
	m_y = y;

	// On fait attentions aux valeurs
	m_x = std::max(0,std::min((int)m_image.getHeight()-1, m_x));
	m_y = std::max(0,std::min((int)m_image.getWidth()-1, m_y));

	ComputeLuminance();
}
void tpDynamicToneMappingManager::BlurImage(int taille)
{
	ResetModification(false);

	tpFilter g = tpMath::GaussianKernel2D(taille);
	tpFilterResultDouble res;

	tpImageFilter::ApplyFilter(m_image, res, g);

	m_image.copy(res);
	
	ComputeLuminance();
}
void tpDynamicToneMappingManager::SetImage(const tpImageLuminanceHDR& I)
{
	m_image.copy(I);
	tpImageConvert::Calibration(m_image);
	m_imageCache.copy(m_image);

	// On met a jour les coordonnee de pixels
	m_x = std::max(0,std::min((int)m_image.getHeight()-1, m_x));
	m_y = std::max(0,std::min((int)m_image.getWidth()-1, m_y));

	m_laImage = tpHDROperations::GetMean(m_image);

	ComputeLuminance();
}
Пример #7
0
void ColorSetting::Update()
{
    float multiplier = 1.0f;
    if(hdr)
    {
        multiplier = intensity.Value();
        if(units != ColorUnit::None)
        {
            float clrLum = ComputeLuminance(val);
            if(clrLum > 0.00001f)
                multiplier *= 1.0f / clrLum;
        }
    }
    Float3 newVal = val * multiplier;
    changed = oldVal != newVal;
    oldVal = newVal;
}
Пример #8
0
/**
 * Returns a desaturated color, with 0 meaning no desaturation and 1 == full desaturation
 *
 * @param	Desaturation	Desaturation factor in range [0..1]
 * @return	Desaturated color
 */
FLinearColor FLinearColor::Desaturate( float Desaturation ) const
{
	float Lum = ComputeLuminance();
	return FMath::Lerp( *this, FLinearColor( Lum, Lum, Lum, 0 ), Desaturation );
}