ppEffectCreate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "</dl> <dl class="command_description"> " to "")
(Add priority issue example)
 
(15 intermediate revisions by 3 users not shown)
Line 15: Line 15:
|gr1= Camera Control
|gr1= Camera Control


|descr= Creates [[Post process effects]] specified by effect name and priority. Supported effects are:<br>
|descr= Creates [[Post Process Effects]] specified by effect name and priority.<br>
 
Supported effects:
* [[Post_process_effects#RadialBlur|"RadialBlur"]]
{{Columns|4|
* [[Post_process_effects#ChromAberration|"ChromAberration"]]
* [[Post Process Effects#RadialBlur|"RadialBlur"]]
* [[Post_process_effects#WetDistortion|"WetDistortion"]]
* [[Post Process Effects#ChromAberration|"ChromAberration"]]
* [[Post_process_effects#ColorCorrections|"ColorCorrections"]]
* [[Post Process Effects#WetDistortion|"WetDistortion"]]
* [[Post_process_effects#DynamicBlur|"DynamicBlur"]]
* [[Post Process Effects#ColorCorrections|"ColorCorrections"]]
* [[Post_process_effects#FilmGrain|"FilmGrain"]]
* [[Post Process Effects#DynamicBlur|"DynamicBlur"]]
* [[Post_process_effects#ColorInversion|"ColorInversion"]]
* [[Post Process Effects#FilmGrain|"FilmGrain"]]
* [[Post Process Effects#ColorInversion|"ColorInversion"]]
* [[Post Process Effects#SSAO|"SSAO"]]
* [[Post Process Effects#Resolution|"Resolution"]]
}}


|s1= [[ppEffectCreate]] [name, priority]
|s1= [[ppEffectCreate]] [name, priority]


|p1= [name, priority]: [[Array]]
|p1= name: [[String]] - name of effect type
|p2= name: [[String]] - name of effect type.


|p3= priority: [[Number]] - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail.
|p2= priority: [[Number]] - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail


|r1= [[Number]] - handle or -1 if failed
|r1= [[Number]] - handle or -1 if failed


|s2= [[ppEffectCreate]] [<nowiki/>[name1, priority1],...]
|s2= [[ppEffectCreate]] [<nowiki/>[name1, priority1], ...]


|p21= [name1, priority1]: [[Array]]
|p21= nameN: [[String]] - name of effect type


|p22= name: [[String]] - name of effect type.
|p22= priorityN: [[Number]] - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail
|p23= priority: [[Number]] - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail.


|r2= [[Array]] of [[Number]]s [handle1, ...] or [[Nothing]] if failed
|r2= [[Array]] of [[Number]]s [handle1, ...] or [[Nothing]] if failed


|x1= <code>_ppGrain = [[ppEffectCreate]] ["filmGrain", 2005];</code>
|x1= <sqf>_ppGrain = ppEffectCreate ["filmGrain", 2005];</sqf>
 
|x2= If an effect ID is already used, the effect is not created. Use the following:
<sqf>
private _name = "ChromAberration";
private _priority = 200;
private _handle = -1;
while
{
_handle = ppEffectCreate [_name, _priority];
_handle < 0;
} do {
_priority = _priority + 1;
};
 
// _handle can be used here as usual
</sqf>
or
<sqf>
private _name = "ChromAberration";
private _priority = 200;
private _handle = -1;
waitUntil { _handle = ppEffectCreate [_name, _priority]; _priority = _priority + 1; _handle > 0; };
 
// _handle can be used here as usual
</sqf>


|seealso= [[Post process effects]], [[ppEffectForceInNVG]], [[ppEffectEnable]], [[ppEffectEnabled]], [[ppEffectDestroy]], [[ppEffectCommit]], [[ppEffectCommitted]], [[ppEffectAdjust]]
|seealso= [[Post Process Effects]] [[ppEffectForceInNVG]] [[ppEffectEnable]] [[ppEffectEnabled]] [[ppEffectDestroy]] [[ppEffectCommit]] [[ppEffectCommitted]] [[ppEffectAdjust]]
}}
}}


<dl class="command_description">
{{Note
For some examples, check {{ExternalLink|link= http://forums.bistudio.com/showthread.php?t=75528|text= this topic}} - [[User:Lou Montana|Lou Montana]]
|user= Lou Montana
|timestamp= 20090629223300
|text= For some examples, check {{Link|http://forums.bistudio.com/showthread.php?t{{=}}75528|this forums' topic}}.
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on July 24, 2015 - 04:08 (UTC)</dd>
|user= Raymix (DayZ)
<dt class="note">[[User:Raymix|Raymix]]</dt>
|timestamp= 20150624040800
<dd class="note">"wetDistortion" only works if handle is used. Arma 3 (1.48.131561)
|text= "wetDistortion" only works if handle is used.
</dd>
|game= arma3
 
|version= 1.48
</dl>
}}

Latest revision as of 10:54, 16 July 2024

Hover & click on the images for description

Description

Description:
Creates Post Process Effects specified by effect name and priority.
Supported effects:
Groups:
Camera Control

Syntax

Syntax:
ppEffectCreate [name, priority]
Parameters:
name: String - name of effect type
priority: Number - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail
Return Value:
Number - handle or -1 if failed

Alternative Syntax

Syntax:
ppEffectCreate [[name1, priority1], ...]
Parameters:
nameN: String - name of effect type
priorityN: Number - unique priority, defines order of applying effect to the scene. If there is another effect using the same priority, creation will fail
Return Value:
Array of Numbers [handle1, ...] or Nothing if failed

Examples

Example 1:
_ppGrain = ppEffectCreate ["filmGrain", 2005];
Example 2:
If an effect ID is already used, the effect is not created. Use the following:
private _name = "ChromAberration"; private _priority = 200; private _handle = -1; while { _handle = ppEffectCreate [_name, _priority]; _handle < 0; } do { _priority = _priority + 1; }; // _handle can be used here as usual
or
private _name = "ChromAberration"; private _priority = 200; private _handle = -1; waitUntil { _handle = ppEffectCreate [_name, _priority]; _priority = _priority + 1; _handle > 0; }; // _handle can be used here as usual

Additional Information

See also:
Post Process Effects ppEffectForceInNVG ppEffectEnable ppEffectEnabled ppEffectDestroy ppEffectCommit ppEffectCommitted ppEffectAdjust

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Lou Montana - c
Posted on Jun 29, 2009 - 22:33 (UTC)
For some examples, check this forums' topic.
Raymix (DayZ) - c
Posted on Jun 24, 2015 - 04:08 (UTC)

"wetDistortion" only works if handle is used.