1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //!FilmGrain - PostProcessEffectType.FilmGrain
- /*!
- Be advised, for this to take any effect, 'g_Game.NightVissionLightParams' needs to have non-zero 'noiseIntensity' parameter.
- /note set by 'PPELightIntensityParamsNative.PARAM_NOISE_MULT' currently
- */
- class PPEFilmGrain: PPEClassBase
- {
- static const int PARAM_INTENSITY = 0;
- static const int PARAM_SHARPNESS = 1;
- static const int PARAM_GRAINSIZE = 2;
- static const int PARAM_INTENSITYX0 = 3;
- static const int PARAM_INTENSITYX1 = 4;
- static const int PARAM_MONOCHROMATIC = 5;
- static const int PARAM_SIMPLE = 6;
- static const int PARAM_DISTORT = 7;
- static const int PARAM_FREQUENCY = 8;
- //static const int PARAM_NOISEMAP = 9;
-
- static const int L_1_NVG = 100;
- static const int L_1_TOXIC_TINT = 200;
- static const int L_2_NVG = 100;
- static const int L_2_TOXIC_TINT = 200;
-
- override int GetPostProcessEffectID()
- {
- return PostProcessEffectType.FilmGrain;
- }
-
- override string GetDefaultMaterialPath()
- {
- return "Graphics/Materials/postprocess/filmgrainNV"; //TODO - differentiate between filmgrainNV?
- }
-
- override void RegisterMaterialParameters()
- {
- RegisterParameterScalarFloat(PARAM_INTENSITY,"Intensity",0.0,0.0,1.0);
- RegisterParameterScalarFloat(PARAM_SHARPNESS,"Sharpness",2.35,0.0,20.0);
- RegisterParameterScalarFloat(PARAM_GRAINSIZE,"GrainSize",2.75,1.0,9.0);
- RegisterParameterScalarFloat(PARAM_INTENSITYX0,"IntensityX0",0.0,0.0,1.0);
- RegisterParameterScalarFloat(PARAM_INTENSITYX1,"IntensityX1",0.0,0.0,1.0);
- RegisterParameterScalarBool(PARAM_MONOCHROMATIC,"Monochromatic",true);
- RegisterParameterScalarBool(PARAM_SIMPLE,"Simple",false);
- RegisterParameterScalarBool(PARAM_DISTORT,"Distort",true);
- RegisterParameterScalarFloat(PARAM_FREQUENCY,"Frequency",20.0,1.0,1000.0);
- //RegisterParameterTexture(PARAM_NOISEMAP,"NoiseMap","{0B1C7AEDC4645C8A}System/textures/noise.edds");
- }
- }
|