Post Process Effects: Difference between revisions
Killzone Kid (talk | contribs) (→Advanced effects: priority) |
Lou Montana (talk | contribs) (Add Advanced effects internal wiki values (Thanks to Reyhard)) |
||
Line 25: | Line 25: | ||
[hndl0, ..., hndlN] [[ppEffectEnable]] OnOf;</code> | [hndl0, ..., hndlN] [[ppEffectEnable]] OnOf;</code> | ||
{{GVI|arma3|1.56}} Check if enabled: | |||
<code>[[ppEffectEnabled]] hndl;</code> | <code>[[ppEffectEnabled]] hndl;</code> | ||
== Example == | == Example == | ||
Line 41: | Line 39: | ||
= Table of priorities = | = Table of priorities = | ||
Priority defines sequence in which post effects are applied. The higher priority, the later the effect will be applied, on top of the others. | |||
{| class="bikitable" | {| class="bikitable" | ||
Line 478: | Line 478: | ||
== LightShafts == | == LightShafts == | ||
Title: "LightShafts"; Base Priority: N/A | Title: "LightShafts"; Base Priority: N/A | ||
* can be used with [[ppEffectAdjust]] | * can be used with [[ppEffectAdjust]] | ||
Line 488: | Line 488: | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
| sunInnerRadius || | | sunInnerRadius || inner radius of the sun. 0 = no radius, 1 = full screen || float || 0..1 || 0.01 | ||
|- | |- | ||
| sunOuterRadius || | | sunOuterRadius || outer radius of the sun. 0 = no radius, 1 = full screen. light intensity fades out from inner to outer radius || float || 0..1 || 0.6 | ||
|- | |- | ||
| exposure || | | exposure || strength of effect || float || 0... || 0.45 | ||
|- | |- | ||
| decay || | | decay || how fast intensity of rays decays with distance || float || 0..1 || 0.89 | ||
|} | |} | ||
Line 501: | Line 501: | ||
Defaults: | Defaults: | ||
<code>"LightShafts" [[ppEffectAdjust]] [0.01, 0.6, 0. | <code>"LightShafts" [[ppEffectAdjust]] [0.01, 0.6, 0.45, 0.89];</code> | ||
Copypaste example: | Copypaste example: | ||
<code> | <code>"LightShafts" [[ppEffectEnable]] [[true]]; | ||
"LightShafts" [[ppEffectAdjust]] [0.1,0.25,0.1,1.25]; | |||
[[systemChat]] "admire effect for a sec"; | |||
[[uiSleep]] 3; | |||
"LightShafts" [[ppEffectEnable]] [[false]];</code> | |||
== HBAOPlus == | == HBAOPlus == | ||
Line 520: | Line 514: | ||
{{Important|HBAOPlus requires DirectX 11 feature level 11 or above as well as being enabled in Video Options to affect display.}} | {{Important|HBAOPlus requires DirectX 11 feature level 11 or above as well as being enabled in Video Options to affect display.}} | ||
Title: "HBAOPlus"; Base Priority: | Title: "HBAOPlus"; Base Priority: N/A | ||
* can be used with [[ppEffectAdjust]] | * can be used with [[ppEffectAdjust]] | ||
Line 528: | Line 522: | ||
{| class="bikitable" | {| class="bikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults (Soft) !! Defaults (Medium) !! Defaults (Strong) | ||
|- | |- | ||
| radius || AO radius in meters || float || 0... || 2 | | radius || AO radius in meters || float || 0... | ||
| colspan="2" style="text-align: center;" | 1 | |||
| style="text-align: center;" | 1.2 | |||
|- | |- | ||
| bias || hide low-tessellation artifacts || float || 0..0.5 || 0.3 | | bias || hide low-tessellation artifacts || float || 0..0.5 | ||
| colspan="3" style="text-align: center;" | 0.3 | |||
|- | |- | ||
| | | detailAO || scale factor for the small-scale AO, the greater the darker || float || 0..2 | ||
| style="text-align: center;" | 0.1 | |||
| style="text-align: center;" | 0.3 | |||
| style="text-align: center;" | 0.5 | |||
|- | |- | ||
| | | coarseAO || scale factor for the large-scale AO, the greater the darker || float || 0..2 | ||
| style="text-align: center;" | 0.50 | |||
| style="text-align: center;" | 0.75 | |||
| style="text-align: center;" | 1.00 | |||
|- | |- | ||
| powerExponent || final AO output is pow(AO, powerExponent) || float || 1..4 || | | powerExponent || final AO output is pow(AO, powerExponent) || float || 1..4 | ||
| colspan="3" style="text-align: center;" | 3 | |||
|- | |- | ||
| blurRadius || 0 = disabled blur, 1 = enabled with a radius of 2, 2 = enabled with a radius of 4. || integer || 0, 1, 2 || 1 | | blurRadius || 0 = disabled blur, 1 = enabled with a radius of 2, 2 = enabled with a radius of 4. || integer || 0, 1, 2 | ||
| colspan="3" style="text-align: center;" | 1 | |||
|- | |- | ||
| blurSharpness || blur | | blurSharpness || the greater the sharpness parameter, the more the blur preserves edges || float || 0... | ||
| colspan="3" style="text-align: center;" | 4 | |||
|- | |- | ||
| | | fadeSharpness || fading of the AO with distance (greater value = sharper transition) || float || 0... | ||
| colspan="3" style="text-align: center;" | 5 | |||
|- | |- | ||
| | | foregroundViewDepth || distance (in meters) of foreground objects - up to this distance the depth is handled differently from the rest of the scene - to prevent huge AO kernel of foreground objects || float || 0... | ||
| colspan="3" style="text-align: center;" | 2 | |||
|- | |- | ||
| | | backgroundViewDepth || distance (in meters) of background objects - AO kernel for objects beyond this distance is computed differently || float || 0... | ||
| colspan="3" style="text-align: center;" | 0 | |||
|} | |} | ||
Syntax: | Syntax: | ||
<code>"HBAOPlus" [[ppEffectAdjust]] [radius, bias, | <code>"HBAOPlus" [[ppEffectAdjust]] [radius, bias, detailAO, coarseAO, powerExponent, blurRadius, blurSharpness, fadeSharpness, foregroundViewDepth, backgroundViewDepth];</code> | ||
Defaults - ''depend on HBAO+ setting in Video Options'': | Defaults - ''depend on HBAO+ setting in Video Options'': | ||
<code>"HBAOPlus" [[ppEffectAdjust]] [2, 0.3, 1, 1, | <code>{{codecomment|// HBAO+ Soft}} | ||
"HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0]; | |||
{{codecomment|// HBAO+ Medium}} | |||
"HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.3, 0.75, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0]; | |||
{{codecomment|// HBAO+ Strong}} | |||
"HBAOPlus" [[ppEffectAdjust]] [1.2, 0.3, 0.5, 1.0, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];</code> | |||
Copypaste example: | Copypaste example: | ||
Line 561: | Line 578: | ||
[[systemChat]] "admire effect for a sec"; | [[systemChat]] "admire effect for a sec"; | ||
[[uiSleep]] 3; | [[uiSleep]] 3; | ||
"HBAOPlus" [[ppEffectAdjust]] [1, | "HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];</code> | ||
Revision as of 21:38, 8 November 2018
Scripting commands
Effect creation:
hndl = ppEffectCreate ["effect_type", priority];
hndls[] = ppEffectCreate [["effect_type0", priority0], ["effect_type1", priority1], ...];
Effect cancellation:
ppEffectDestroy hndl;
ppEffectDestroy [hndl0, hndl1, ..., hndlN];
Parameter setup:
hndl ppEffectAdjust [par0, par1, ..., parN];
Parameter application:
hndl ppEffectCommit time;
[hndl0, ..., hndlN] ppEffectCommit time;
Effect permission:
hndl ppEffectEnable OnOf;
[hndl0, ..., hndlN] ppEffectEnable OnOf;
1.56 Check if enabled:
ppEffectEnabled hndl;
Example
_hndl = ppEffectCreate ["colorCorrections", 1501];
_hndl ppEffectEnable true;
_hndl ppEffectAdjust [1.0, 1.0, 0.0, [1.0, 0.1, 1.0, 0.75], [0.0, 1.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]];
_hndl ppEffectCommit 0;
sleep 10;
ppEffectDestroy _hndl;
Table of priorities
Priority defines sequence in which post effects are applied. The higher priority, the later the effect will be applied, on top of the others.
Priority | PostEffect | Description |
---|---|---|
2050 | FilmGrain | CfgOpticsEffect::TankCommanderOptics1(2) |
1550 | ColorCorrections | CfgOpticsEffect::TankGunnerOptics1(2) |
450 | DynamicBlur | CfgOpticsEffect::OpticsBlur1(2,3) |
250 | Chromatic Aberration | CfgOpticsEffect::OpticsCHAbera1(2,3) |
Parameters of individual effects
RadialBlur
Title: "RadialBlur"; Base Priority: 100
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
powerX | relative blur degree on axis X | float | 0... | 0.01 |
powerY | relative blur degree on axis Y | float | 0... | 0.01 |
offsetX | relative size X of un-blurred centre | float | 0... | 0.06 |
offsetY | relative size Y of un-blurred centre | float | 0... | 0.06 |
Syntax:
hndRadBlur ppEffectAdjust [powerX, powerY, offsetX, offsetY];
Defaults:
hndRadBlur ppEffectAdjust [0.01, 0.01, 0.06, 0.06];
Copypaste example:
0 = ["RadialBlur", 100, [100, 0.5, 0.1, 0.5]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ChromAberration
Title "ChromAberration"; Base Priority: 200
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
aberrationPowerX | relative effect strength (sample spacing from each other) axis X | float | 0... | 0.005 |
aberrationPowerY | relative effect strength (sample spacing from each other) axis Y | float | 0... | 0.005 |
aspectCorrection | enable/disable correction according to screen aspect ratio | bool | true, false | false |
Syntax:
hndlChromAberr ppEffectAdjust [aberrationPowerX, aberrationPowerY, aspectCorrection];
Defaults:
hndlChromAberr ppEffectAdjust [0.005, 0.005, false];
Copypaste example:
0 = ["ChromAberration", 200, [0.05, 0.05, true]] spawn {
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
WetDistortion
Title: "WetDistortion"; Base Priority: 300
Effect cancels automatically under water.
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
value | blurriness of distorted image (0 to 1, values above 1 cause unusual) | float | 0..1 | 1 |
top, bottom | effect power (top/bottom of screen separately) | float | 0..1 | 1, 1 |
horizontal1, horizontal2, vertical1, vertical2 | waves speeds (frequency/PI) | float | 0... | 4.10, 3.70, 2.50, 1.85 |
horizontal1, horizontal2, vertical1, vertical2 | waves amplitudes (delta texture coordinates) | float | 0... | 0.0054, 0.0041, 0.0090, 0.0070 |
randX, randY | coefficients for phase computing; weight of random vertex data on horizontal/vertical wave phases | float | 0... | 0.5, 0.3 |
posX, posY | coefficients for phase computing; weight of vertex X/Y-position on horizontal/vertical wave phases | float | 0... | 10.0, 6.0 |
Syntax:
hndlWetDist ppEffectAdjust [
value,
top, bottom,
horizontal1, horizontal2, vertical1, vertical2,
horizontal1, horizontal2, vertical1, vertical2,
randX, randY, posX, posY
];
Defaults:
hndlWetDist ppEffectAdjust [
1,
1, 1,
4.10, 3.70, 2.50, 1.85,
0.0054, 0.0041, 0.0090, 0.0070,
0.5, 0.3, 10.0, 6.0
];
Copypaste example:
0 = ["WetDistortion", 300, [1, 0, 1, 4.10, 3.70, 2.50, 1.85, 0.0054, 0.0041, 0.05, 0.0070, 1, 1, 1, 1]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ColorCorrections
Title: "ColorCorrections"; Base Priority: 1500
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
brightness | image brightness (0 - black, 1 - unchanged, 2 - white ) | float | 0..2 | 1 |
contrast | image contrast (1 - normal contrast) | float | 0... | 1 |
offset | image contrast offset (0 - unchanged ) | float | 0... | 0 |
[r, g, b, a] | color for blending (r, g, b - color, a - blend factor (0 - original color, 1 - blend color )) | float | 0..1 | [0, 0, 0, 0] |
[r, g, b, a] | color for colorization ( r, g, b - color, a - saturation (0 - original color, 1 - B&W multiplied by colorize color)) | float | 0..1 | [1, 1, 1, 1] |
[r, g, b, 0] | color rgb weights for desaturation | float | 0..1 | [0.299, 0.587, 0.114, 0] |
[ radialMajorAxisRadius, |
radial color (optional, Arma 3 only) major axis radius of ellipse |
float |
0..1 |
[ |
Syntax:
hndlClrCorr ppEffectAdjust
[
brightness,
contrast,
offset,
[blendR, blendG, blendB, blendA],
[colorizeR, colorizeG, colorizeB, colorizeA],
[weightR, weightG, weightB, 0],
[a, b, angle, cx, cy, innerRCoef, interpCoef]
];
Defaults:
hndlClrCorr ppEffectAdjust
[
1,
1,
0,
[0, 0, 0, 0],
[1, 1, 1, 1],
[0.299, 0.587, 0.114, 0],
[-1, -1, 0, 0, 0, 0, 0]
];
Copypaste example:
0 = ["ColorCorrections", 1500, [1, 0.4, 0, [0, 0, 0, 0], [1, 1, 1, 0], [1, 1, 1, 0]]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
DynamicBlur
Title: "DynamicBlur"; Base Priority: 400
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
value | blurriness | float | 0... | 0 |
Syntax:
hndlDynBlur ppEffectAdjust [value];
Defaults:
hndlDynBlur ppEffectAdjust [0];
Copypaste example:
0 = ["DynamicBlur", 400, [10]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
FilmGrain
Title: "FilmGrain"; Base Priority 2000
Number of parameters is flexible: it may be defined from 1 to 6 parameters, meaning of individual parameters is following:
Parameter | Meaning | Type | Range | Default |
---|---|---|---|---|
intensity | intensity | float | 0..1 | 0.005 |
sharpness | sharpness | float | 1..20 | 1.25 |
grainSize | grain size | float | 1..8 | 2.01 |
intensityX0 | intensityX0 | float | -x..0..+x | 0.75 |
intensityX1 | intensityX1 | float | -x..0..+x | 1.0 |
1.00 monochromatic | monochromatic | bool | true, false | true |
1.00 Arma 3 monochromatic | monochromatic | integer | 0, 1 | 0 |
Syntax:
hndlFilmGrain ppEffectAdjust [
intensity,
sharpness,
grainSize,
intensityX0,
intensityX1,
monochromatic
];
Defaults:
hndlFilmGrain ppEffectAdjust [
0.005,
1.25,
2.01,
0.75,
1.0,
true // 0 for Arma 3
];
Copypaste example:
0 = ["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, true]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0;
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
1.00 Arma 3 example:
0 = ["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, 0]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0;
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ColorInversion
Title: "ColorInversion"; Base Priority: 2500
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
Red | Inversion of R channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Green | Inversion of G channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Blue | Inversion of B channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Syntax:
hndlClrInversion ppEffectAdjust [Red, Green, Blue];
Defaults:
hndlClrInversion ppEffectAdjust [0, 0, 0];
Copypaste example:
0 = ["ColorInversion", 2500, [0.5, 0.5, 0.5]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
Advanced effects
LightShafts
Title: "LightShafts"; Base Priority: N/A
- can be used with ppEffectAdjust
- can be used with ppEffectEnable
- cannot be used with ppEffectCreate
- cannot be used with ppEffectCommit
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
sunInnerRadius | inner radius of the sun. 0 = no radius, 1 = full screen | float | 0..1 | 0.01 |
sunOuterRadius | outer radius of the sun. 0 = no radius, 1 = full screen. light intensity fades out from inner to outer radius | float | 0..1 | 0.6 |
exposure | strength of effect | float | 0... | 0.45 |
decay | how fast intensity of rays decays with distance | float | 0..1 | 0.89 |
Syntax:
"LightShafts" ppEffectAdjust [sunInnerRadius, sunOuterRadius, exposure, decay];
Defaults:
"LightShafts" ppEffectAdjust [0.01, 0.6, 0.45, 0.89];
Copypaste example:
"LightShafts" ppEffectEnable true;
"LightShafts" ppEffectAdjust [0.1,0.25,0.1,1.25];
systemChat "admire effect for a sec";
uiSleep 3;
"LightShafts" ppEffectEnable false;
HBAOPlus
Title: "HBAOPlus"; Base Priority: N/A
- can be used with ppEffectAdjust
- cannot be used with ppEffectEnable
- cannot be used with ppEffectCreate
- cannot be used with ppEffectCommit
Parameter | Meaning | Type | Range | Defaults (Soft) | Defaults (Medium) | Defaults (Strong) |
---|---|---|---|---|---|---|
radius | AO radius in meters | float | 0... | 1 | 1.2 | |
bias | hide low-tessellation artifacts | float | 0..0.5 | 0.3 | ||
detailAO | scale factor for the small-scale AO, the greater the darker | float | 0..2 | 0.1 | 0.3 | 0.5 |
coarseAO | scale factor for the large-scale AO, the greater the darker | float | 0..2 | 0.50 | 0.75 | 1.00 |
powerExponent | final AO output is pow(AO, powerExponent) | float | 1..4 | 3 | ||
blurRadius | 0 = disabled blur, 1 = enabled with a radius of 2, 2 = enabled with a radius of 4. | integer | 0, 1, 2 | 1 | ||
blurSharpness | the greater the sharpness parameter, the more the blur preserves edges | float | 0... | 4 | ||
fadeSharpness | fading of the AO with distance (greater value = sharper transition) | float | 0... | 5 | ||
foregroundViewDepth | distance (in meters) of foreground objects - up to this distance the depth is handled differently from the rest of the scene - to prevent huge AO kernel of foreground objects | float | 0... | 2 | ||
backgroundViewDepth | distance (in meters) of background objects - AO kernel for objects beyond this distance is computed differently | float | 0... | 0 |
Syntax:
"HBAOPlus" ppEffectAdjust [radius, bias, detailAO, coarseAO, powerExponent, blurRadius, blurSharpness, fadeSharpness, foregroundViewDepth, backgroundViewDepth];
Defaults - depend on HBAO+ setting in Video Options:
// HBAO+ Soft
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
// HBAO+ Medium
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.3, 0.75, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
// HBAO+ Strong
"HBAOPlus" ppEffectAdjust [1.2, 0.3, 0.5, 1.0, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
Copypaste example:
"HBAOPlus" ppEffectAdjust [2, 0.3, 1, 1, 2, 1, 4, 5, 2, 0];
systemChat "admire effect for a sec";
uiSleep 3;
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
See also: ppEffectAdjust, ppEffectCommit, ppEffectCommitted, ppEffectCreate, ppEffectDestroy, ppEffectEnable, ppEffectEnabled, ppEffectForceInNVG