4 static const int POSTPROCESS_OPTION_VALUE_LOW = 0;
5 static const int POSTPROCESS_OPTION_VALUE_MEDIUM = 1;
6 static const int POSTPROCESS_OPTION_VALUE_HIGH = 2;
7 static const int POSTPROCESS_OPTION_VALUE_HIGHEST = 3;
9 static const int PARAM_NUMPASSES = 0;
10 static const int PARAM_INTENSITY = 1;
11 static const int PARAM_RADIUSNEAR = 2;
12 static const int PARAM_RADIUSFAR = 3;
13 static const int PARAM_COSANGLE0 = 4;
14 static const int PARAM_COSANGLE1 = 5;
15 static const int PARAM_MAXDISTANCE = 6;
16 static const int PARAM_MAXBLURDISTANCE = 7;
17 static const int PARAM_NEARINTENSITY = 8;
18 static const int PARAM_FARINTENSITY = 9;
19 static const int PARAM_FARINTENSITYDIST = 10;
20 static const int PARAM_NUMBLURPASSES = 11;
21 static const int PARAM_BLURSIZE = 12;
22 static const int PARAM_COLORAMOUNT = 13;
23 static const int PARAM_COLORSSAOAMOUNT = 14;
25 override int GetPostProcessEffectID()
30 override string GetDefaultMaterialPath()
35 ListOptionsAccess loa = ListOptionsAccess.Cast( options.GetOptionByType(
OptionAccessType.AT_POSTPROCESS_EFFECTS ) );
37 switch (loa.GetIndex())
39 case POSTPROCESS_OPTION_VALUE_LOW:
40 ret =
"Graphics/Materials/postprocess/hbao_low";
43 case POSTPROCESS_OPTION_VALUE_MEDIUM:
44 ret =
"Graphics/Materials/postprocess/hbao_medium";
47 case POSTPROCESS_OPTION_VALUE_HIGH:
48 ret =
"Graphics/Materials/postprocess/hbao_high";
51 case POSTPROCESS_OPTION_VALUE_HIGHEST:
52 ret =
"Graphics/Materials/postprocess/hbao_highest";
59 override void RegisterMaterialParameters()
61 RegisterParameterScalarInt(PARAM_NUMPASSES,
"NumPasses",2,2,8);
62 RegisterParameterScalarFloat(PARAM_INTENSITY,
"Intensity",15.0,0.0,1000.0);
63 RegisterParameterScalarFloat(PARAM_RADIUSNEAR,
"RadiusNear",60.0,0.0,200.0);
64 RegisterParameterScalarFloat(PARAM_RADIUSFAR,
"RadiusFar",5.0,0.0,200.0);
65 RegisterParameterScalarFloat(PARAM_COSANGLE0,
"CosAngle0",0.1,0.0,2.0);
66 RegisterParameterScalarFloat(PARAM_COSANGLE1,
"CosAngle1",1.0,0.0,2.0);
67 RegisterParameterScalarFloat(PARAM_MAXDISTANCE,
"MaxDistance",1.5,0.0,10000.0);
68 RegisterParameterScalarFloat(PARAM_MAXBLURDISTANCE,
"MaxBlurDistance",0.2,0.0,10.0);
69 RegisterParameterScalarFloat(PARAM_NEARINTENSITY,
"NearIntensity",0.2,0.0,1.0);
70 RegisterParameterScalarFloat(PARAM_FARINTENSITY,
"FarIntensity",5.0,0.0,20.0);
71 RegisterParameterScalarFloat(PARAM_FARINTENSITYDIST,
"FarIntensityDistance",20.0,0.0,1000.0);
72 RegisterParameterScalarInt(PARAM_NUMBLURPASSES,
"NumBlurPasses",1,0,8);
73 RegisterParameterScalarInt(PARAM_BLURSIZE,
"BlurSize",1.0,1.0,4.0);
74 RegisterParameterScalarFloat(PARAM_COLORAMOUNT,
"ColorAmount",0.5,0.0,1.0);
75 RegisterParameterScalarFloat(PARAM_COLORSSAOAMOUNT,
"ColorSsaoAmount",0.25,0.0,1.0);