ppEffectCreate: Difference between revisions
Lou Montana (talk | contribs) m (Some wiki formatting)  | 
				Lou Montana (talk | contribs)   (Add priority issue example)  | 
				||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 25: | Line 25: | ||
* [[Post Process Effects#FilmGrain|"FilmGrain"]]  | * [[Post Process Effects#FilmGrain|"FilmGrain"]]  | ||
* [[Post Process Effects#ColorInversion|"ColorInversion"]]  | * [[Post Process Effects#ColorInversion|"ColorInversion"]]  | ||
* [[Post Process Effects#SSAO|"SSAO"]]  | |||
* [[Post Process Effects#Resolution|"Resolution"]]  | |||
}}  | }}  | ||
| Line 37: | Line 39: | ||
|s2= [[ppEffectCreate]] [<nowiki/>[name1, priority1], ...]  | |s2= [[ppEffectCreate]] [<nowiki/>[name1, priority1], ...]  | ||
|p21=   | |p21= nameN: [[String]] - name of effect type  | ||
|p22=   | |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  | ||
|r2= [[Array]] of [[Number]]s [handle1, ...] or [[Nothing]] if failed  | |r2= [[Array]] of [[Number]]s [handle1, ...] or [[Nothing]] if failed  | ||
|x1= <sqf>_ppGrain = ppEffectCreate ["filmGrain", 2005];</sqf>  | |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]]  | ||
| Line 55: | Line 82: | ||
{{Note  | {{Note  | ||
|user= Raymix  | |user= Raymix (DayZ)  | ||
|timestamp= 20150624040800  | |timestamp= 20150624040800  | ||
|text= "wetDistortion" only works if handle is used.  | |text= "wetDistortion" only works if handle is used.  | ||
Latest revision as of 10:54, 16 July 2024
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:
 - Example 2:
 - If an effect ID is already used, the effect is not created. Use the following:
or
 
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 
- Posted on Jun 29, 2009 - 22:33 (UTC)
 - For some examples, check this forums' topic.
 
- Posted on Jun 24, 2015 - 04:08 (UTC)
 - 
"wetDistortion" only works if handle is used.