Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
ppessao.c
Go to the documentation of this file.
1
3{
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;
8
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;
24
25 override int GetPostProcessEffectID()
26 {
27 return PostProcessEffectType.SSAO;
28 }
29
30 override string GetDefaultMaterialPath()
31 {
32 //return "Graphics/Materials/postprocess/hbao"; //"default-default", with no option taken into account (c++)
33 GameOptions options = new GameOptions;
34
35 ListOptionsAccess loa = ListOptionsAccess.Cast( options.GetOptionByType( OptionAccessType.AT_POSTPROCESS_EFFECTS ) );
36 string ret = "";
37 switch (loa.GetIndex())
38 {
39 case POSTPROCESS_OPTION_VALUE_LOW:
40 ret = "Graphics/Materials/postprocess/hbao_low";
41 break;
42
43 case POSTPROCESS_OPTION_VALUE_MEDIUM:
44 ret = "Graphics/Materials/postprocess/hbao_medium";
45 break;
46
47 case POSTPROCESS_OPTION_VALUE_HIGH:
48 ret = "Graphics/Materials/postprocess/hbao_high";
49 break;
50
51 case POSTPROCESS_OPTION_VALUE_HIGHEST:
52 ret = "Graphics/Materials/postprocess/hbao_highest";
53 break;
54 }
55 return ret;
56 }
57
58 //TODO - defaults are taken from c++ directly, instead of material files! Add support for options switching
59 override void RegisterMaterialParameters()
60 {
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);
76 }
77};
void RegisterParameterScalarFloat(int idx, string parameter_name, float default_value, float min, float max)
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values ...
string GetDefaultMaterialPath()
override this if you want to use different path by default; '.emat' is appended automatically
void RegisterParameterScalarInt(int idx, string parameter_name, int default_value, int min, int max)
void RegisterMaterialParameters()
inserted into associative array by parameter int value, parameter registration order does not matter ...
int GetPostProcessEffectID()
Overriden in all material classes!
void PPEClassBase(string mat_path_override="")
SSAO - PostProcessEffectType.SSAO.
Definition ppessao.c:3
OptionAccessType
C++ OptionAccessType.
Definition gameplay.c:1224
PostProcessEffectType
Post-process effect type.
Definition enworld.c:72