DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ProcessEffect()

void PPERequester_SandstormEffect::ProcessEffect ( float intensity)
inlineprotected

См. определение в файле PPERSandstorm.c строка 116

117 {
119
120 vector currentHSV;
124 currentHSV[1] = Math.Min(1.0, currentHSV[1] * (1.0 + m_SandstormBlend * 0.3));
125
126 vector currentColor = HSVToRGB(currentHSV);
127 float colorPower = Math.Pow(m_SandstormBlend, 1.3);
128 float red = Math.Lerp(0.0, currentColor[0] - 1.0, colorPower);
129 float green = Math.Lerp(0.0, currentColor[1] - 1.0, colorPower);
130 float blue = Math.Lerp(0.0, currentColor[2] - 1.0, colorPower);
131 float alpha = Math.Lerp(MIN_SANDSTORM_COLOR_ALPHA, MAX_SANDSTORM_COLOR_ALPHA, colorPower);
132
133 SetTargetValueColor(PostProcessEffectType.Glow, PPEGlow.PARAM_COLORIZATIONCOLOR, {red, green, blue, alpha}, PPEGlow.L_20_SANDSTORM, PPOperators.ADD);
134 SetTargetValueFloat(PostProcessEffectType.Glow, PPEGlow.PARAM_SATURATION, false, Math.Lerp(SANDSTORM_SATURATION_MIN, SANDSTORM_SATURATION_MAX, m_SandstormBlend), PPEGlow.L_20_SANDSTORM, PPOperators.SET);
135 SetTargetValueFloat(PostProcessEffectType.Glow, PPEGlow.PARAM_CONTRAST, false, Math.Lerp(SANDSTORM_CONTRAST_MIN, SANDSTORM_CONTRAST_MAX, m_SandstormBlend), PPEGlow.L_20_SANDSTORM, PPOperators.SET);
136 SetTargetValueFloat(PostProcessEffectType.Glow, PPEGlow.PARAM_BRIGHTNESS, false, Math.Lerp(SANDSTORM_BRIGHTNESS_MIN, SANDSTORM_BRIGHTNESS_MAX, m_SandstormBlend), PPEGlow.L_20_SANDSTORM, PPOperators.SET);
137
138 SetTargetValueFloat(PostProcessEffectType.GodRays, PPEGodRays.PARAM_INTENSITY, Math.Lerp(SANDSTORM_GODRAYS_MIN, SANDSTORM_GODRAYS_MAX, m_SandstormBlend * m_SandstormBlend), PPEGodRays.L_0_SANDSTORM, PPOperators.LOWEST);
139 SetTargetValueFloat(PostProcessEffectType.GodRays, PPEGodRays.PARAM_SUNVISIBLE, Math.Lerp(SANDSTORM_SUN_VISIBILITY_MIN, SANDSTORM_SUN_VISIBILITY_MAX, m_SandstormBlend), PPEGodRays.L_0_SANDSTORM, PPOperators.SET);
140 SetTargetValueFloat(PostProcessEffectType.GodRays, PPEGodRays.PARAM_OVERBURNINTENSITY, Math.Lerp(SANDSTORM_GODRAYS_OVERBURN_MIN, SANDSTORM_GODRAYS_OVERBURN_MAX, m_SandstormBlend * m_SandstormBlend), PPEGodRays.L_0_SANDSTORM, PPOperators.SET);
141 }
PPOperators
PP operators, specify operation between subsequent layers.
Определения PPEConstants.c:53
void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:588
void SetTargetValueColor(int mat_id, int param_idx, array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:630
const float SANDSTORM_SATURATION_MAX
Определения PPERSandstorm.c:21
float m_SandstormBlend
Определения PPERSandstorm.c:51
float GetSandstormBlend(float intensity)
Определения PPERSandstorm.c:106
const float SANDSTORM_CONTRAST_MIN
GLOW CONTRAST.
Определения PPERSandstorm.c:24
const float SANDSTORM_GODRAYS_MIN
GODRAYS.
Определения PPERSandstorm.c:32
const float MAX_SANDSTORM_COLOR_ALPHA
Определения PPERSandstorm.c:17
const float MIN_SANDSTORM_COLOR_ALPHA
Определения PPERSandstorm.c:16
const float SANDSTORM_BRIGHTNESS_MIN
GLOW BRIGHTNESS.
Определения PPERSandstorm.c:28
const float SANDSTORM_GODRAYS_MAX
Определения PPERSandstorm.c:33
vector m_SandstormColorLightHSV
Определения PPERSandstorm.c:48
const float SANDSTORM_GODRAYS_OVERBURN_MIN
Определения PPERSandstorm.c:38
vector m_SandstormColorHeavyHSV
Определения PPERSandstorm.c:49
const float SANDSTORM_GODRAYS_OVERBURN_MAX
Определения PPERSandstorm.c:39
const float SANDSTORM_CONTRAST_MAX
Определения PPERSandstorm.c:25
const float SANDSTORM_SUN_VISIBILITY_MAX
Определения PPERSandstorm.c:36
const float SANDSTORM_BRIGHTNESS_MAX
Определения PPERSandstorm.c:29
const float SANDSTORM_SATURATION_MIN
GLOW SATURATION.
Определения PPERSandstorm.c:20
const float SANDSTORM_SUN_VISIBILITY_MIN
Определения PPERSandstorm.c:35
static proto native vector Lerp(vector v1, vector v2, float t)
Lerp between two vectors.
PostProcessEffectType
Post-process effect type.
Определения EnWorld.c:72
static vector HSVToRGB(vector hsv)
Определения proto.c:403

Перекрестные ссылки GetSandstormBlend(), HSVToRGB(), PPEGodRays::L_0_SANDSTORM, PPEGlow::L_20_SANDSTORM, Math::Lerp(), m_SandstormBlend, m_SandstormColorHeavyHSV, m_SandstormColorLightHSV, MAX_SANDSTORM_COLOR_ALPHA, Math::Min(), MIN_SANDSTORM_COLOR_ALPHA, PPEGlow::PARAM_BRIGHTNESS, PPEGlow::PARAM_COLORIZATIONCOLOR, PPEGlow::PARAM_CONTRAST, PPEGodRays::PARAM_INTENSITY, PPEGodRays::PARAM_OVERBURNINTENSITY, PPEGlow::PARAM_SATURATION, PPEGodRays::PARAM_SUNVISIBLE, Math::Pow(), SANDSTORM_BRIGHTNESS_MAX, SANDSTORM_BRIGHTNESS_MIN, SANDSTORM_CONTRAST_MAX, SANDSTORM_CONTRAST_MIN, SANDSTORM_GODRAYS_MAX, SANDSTORM_GODRAYS_MIN, SANDSTORM_GODRAYS_OVERBURN_MAX, SANDSTORM_GODRAYS_OVERBURN_MIN, SANDSTORM_SATURATION_MAX, SANDSTORM_SATURATION_MIN, SANDSTORM_SUN_VISIBILITY_MAX, SANDSTORM_SUN_VISIBILITY_MIN, SetTargetValueColor() и SetTargetValueFloat().

Используется в UpdateEffect().