ppefilmgrain.c 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //!FilmGrain - PostProcessEffectType.FilmGrain
  2. /*!
  3. Be advised, for this to take any effect, 'g_Game.NightVissionLightParams' needs to have non-zero 'noiseIntensity' parameter.
  4. /note set by 'PPELightIntensityParamsNative.PARAM_NOISE_MULT' currently
  5. */
  6. class PPEFilmGrain: PPEClassBase
  7. {
  8. static const int PARAM_INTENSITY = 0;
  9. static const int PARAM_SHARPNESS = 1;
  10. static const int PARAM_GRAINSIZE = 2;
  11. static const int PARAM_INTENSITYX0 = 3;
  12. static const int PARAM_INTENSITYX1 = 4;
  13. static const int PARAM_MONOCHROMATIC = 5;
  14. static const int PARAM_SIMPLE = 6;
  15. static const int PARAM_DISTORT = 7;
  16. static const int PARAM_FREQUENCY = 8;
  17. //static const int PARAM_NOISEMAP = 9;
  18. static const int L_1_NVG = 100;
  19. static const int L_1_TOXIC_TINT = 200;
  20. static const int L_2_NVG = 100;
  21. static const int L_2_TOXIC_TINT = 200;
  22. override int GetPostProcessEffectID()
  23. {
  24. return PostProcessEffectType.FilmGrain;
  25. }
  26. override string GetDefaultMaterialPath()
  27. {
  28. return "Graphics/Materials/postprocess/filmgrainNV"; //TODO - differentiate between filmgrainNV?
  29. }
  30. override void RegisterMaterialParameters()
  31. {
  32. RegisterParameterScalarFloat(PARAM_INTENSITY,"Intensity",0.0,0.0,1.0);
  33. RegisterParameterScalarFloat(PARAM_SHARPNESS,"Sharpness",2.35,0.0,20.0);
  34. RegisterParameterScalarFloat(PARAM_GRAINSIZE,"GrainSize",2.75,1.0,9.0);
  35. RegisterParameterScalarFloat(PARAM_INTENSITYX0,"IntensityX0",0.0,0.0,1.0);
  36. RegisterParameterScalarFloat(PARAM_INTENSITYX1,"IntensityX1",0.0,0.0,1.0);
  37. RegisterParameterScalarBool(PARAM_MONOCHROMATIC,"Monochromatic",true);
  38. RegisterParameterScalarBool(PARAM_SIMPLE,"Simple",false);
  39. RegisterParameterScalarBool(PARAM_DISTORT,"Distort",true);
  40. RegisterParameterScalarFloat(PARAM_FREQUENCY,"Frequency",20.0,1.0,1000.0);
  41. //RegisterParameterTexture(PARAM_NOISEMAP,"NoiseMap","{0B1C7AEDC4645C8A}System/textures/noise.edds");
  42. }
  43. }