Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
ppessao.c
Go to the documentation of this file.
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 };
PostProcessEffectType
PostProcessEffectType
Post-process effect type.
Definition: enworld.c:71
PPEClassBase
Created once, on manager init. Script-side representation of C++ material class, separate handling.
Definition: ppematclassesbase.c:2
PPESSAO
SSAO - PostProcessEffectType.SSAO.
Definition: ppessao.c:2
GameOptions
Definition: gameplay.c:1420
OptionAccessType
OptionAccessType
C++ OptionAccessType.
Definition: gameplay.c:1200