//!HBAO - PostProcessEffectType.HBAO
//TODO - may be just a dummy, since SSAO already uses the HBAO materials?
class PPEHBAO: PPEClassBase
{
static const int PARAM_RADIUSMETERS = 0;
static const int PARAM_INTENSITY = 1;
static const int PARAM_BLURSHARPNESS = 2;
static const int PARAM_NDOTVBIAS = 3;
static const int PARAM_SMALLSCALEAO = 4;
static const int PARAM_LARGESCALEAO = 5;
static const int PARAM_NUMDIRECTIONS = 6;
static const int PARAM_NUMSAMPLES = 7;
static const int PARAM_DEINTERLEAVE = 8;
override int GetPostProcessEffectID()
{
return PostProcessEffectType.HBAO;
}
override string GetDefaultMaterialPath()
{
return "Graphics/Materials/postprocess/hbao";
}
override void RegisterMaterialParameters()
{
RegisterParameterScalarFloat(PARAM_RADIUSMETERS,"RadiusMeters",2.0,0.1,10.0);
RegisterParameterScalarFloat(PARAM_INTENSITY,"Intensity",1.0,0.1,100.0);
RegisterParameterScalarFloat(PARAM_BLURSHARPNESS,"BlurSharpness",32.0,1.0,300.0);
RegisterParameterScalarFloat(PARAM_NDOTVBIAS,"NdotVBias",0.2,0.0,0.5);
RegisterParameterScalarFloat(PARAM_SMALLSCALEAO,"SmallScaleAO",1.0,0.1,2.0);
RegisterParameterScalarFloat(PARAM_LARGESCALEAO,"LargeScaleAO",1.0,0.1,2.0);
RegisterParameterScalarInt(PARAM_NUMDIRECTIONS,"NumDirections",8,1,8);
RegisterParameterScalarInt(PARAM_NUMSAMPLES,"NumSamples",4,1,8);
RegisterParameterScalarBool(PARAM_DEINTERLEAVE,"Deinterleave",true);
}
};