10 Debug.
Log(
"PPEManagerStatic | CreateManagerStatic - PPEManager already exists");
67 PPERequesterBank.Init();
72 PPERequesterBank.Cleanup();
96 m_ManagerInitialized =
true;
153 if ( order > PPEConstants.DEPENDENCY_ORDER_HIGHEST )
196 if ( active && found == -1 )
200 else if ( !active && found > -1 )
213 Debug.
Log(
"PPEManager | SetRequestUpdating | !m_UpdatingRequests");
219 if ( active && idx == -1 )
223 else if ( !active && idx > -1 )
249 for (
int i = 0; i < count; i++)
346 typename name = mat_class.Type();
352 Debug.
Log(
"PPEManager | Invalid material path " +
path +
" used for " +
name );
361 if (!scriptside_only)
372 if (requester.GetCategoryMask() & mask)
PostProcessPrioritiesCamera
PPE type priorities, C++ based. DO NOT CHANGE ORDER! Used only when calling 'SetCameraPostProcessEffe...
void DbgPrnt(string text)
protected void InitPPEManagerClassMap()
Ordered by 'PostProcessEffectType' for easy access through the same enum; ID saved all the same.
protected ref map< int, ref PPEClassBase > m_PPEClassMap
protected void RegisterPPEClass(PPEClassBase material_class)
Registeres material class and creates data structure within.
void SetRequestActive(PPERequesterBase request, bool active)
Marks requester as 'active'. Currently indistinguiishable from 'updating' requester,...
void InsertUpdatedMaterial(int mat_id)
Marks material class as updated and values to be set in the course of update - 'ProcessApplyValueChan...
protected ref array< ref PPERequesterBase > m_UpdatingRequests
class PPEManagerStatic CAMERA_ID
protected void ClearMaterialUpdating()
protected void RequestsCleanup()
Unused cleanup method, should it be ever needed.
protected void ProcessMaterialUpdates(float timeslice)
protected ref array< ref PPERequesterBase > m_ExistingPostprocessRequests
Param GetPostProcessDefaultValues(int material, int parameter)
Returns default values as Param. See 'PPEConstants' file for various typedefs used.
void ChangePPEMaterial(PostProcessPrioritiesCamera priority, PostProcessEffectType type, string path, bool scriptside_only)
Changes material file associated with the script material class. Will be used very rarely,...
void SetMaterialParamUpdating(int material_id, int parameter_id, int order)
Queues material/parameter to update (once)
void SendMaterialValueData(PPERequestParamDataBase data)
protected ref map< int, ref array< int > > m_PPEMaterialUpdateQueueMap
protected void RemoveActiveRequestFromMaterials(PPERequesterBase req)
void RemoveMaterialUpdating(int material_id, int order=0)
Currently unused, requests remain in the hierarchy and are used when needed (slightly faster than con...
void SetRequestUpdating(PPERequesterBase request, bool active)
Marks requester as 'updating' and to be processed on manager update.
bool GetExistingRequester(typename req, out PPERequesterBase ret)
Param GetPostProcessCurrentValues(int material, int parameter)
Returns current values as Param. See 'PPEConstants' file for various typedefs used.
protected ref array< int > m_UpdatedMaterials
protected bool m_ManagerInitialized
protected void ProcessApplyValueChanges()
protected void ProcessRequesterUpdates(float timeslice)
override ScriptInvoker GetUpdateQueue(int call_category)
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
ChromAber - PostProcessEffectType.ChromAber.
Created once, on manager init. Script-side representation of C++ material class, separate handling.
int GetPostProcessEffectID()
Overriden in all material classes!
void InsertParamValueData(PPERequestParamDataBase request_data)
Distributes requester data to the material class structure and links them to appropriate parameter.
void SetParameterUpdating(int order, int parameter_id)
Queue specific parameter of this material to update.
void ChangeMaterialPathUsed(string path)
PPEMatClassParameterCommandData GetParameterCommandData(int parameter_idx)
Some PP effects are handled as hard-coded exceptions, outside of material system. Default == PPEExcep...
void RemoveRequest(int req_idx)
unused, see 'RemoveActiveRequestFromMaterials' for more info
void OnUpdate(float timeslice, int order)
generic update method, take care when overriding!
ColorGrading - PostProcessEffectType.ColorGrading.
Colors - PostProcessEffectType.Colors.
DOF postprocess, does not directly use materials.
DepthOfField - PostProcessEffectType.DepthOfField.
DynamicBlur - PostProcessEffectType.DynamicBlur.
EV postprocess, does not directly use materials.
Eye Accomodation postprocess, does not directly use materials.
FXAA - PostProcessEffectType.FXAA.
FilmGrain - PostProcessEffectType.FilmGrain.
GaussFilter - PostProcessEffectType.GaussFilter.
Glow - PostProcessEffectType.Glow.
GodRays - PostProcessEffectType.GodRays.
HBAO - PostProcessEffectType.HBAO.
g_Game.NightVissionLightParams, does not directly use materials. Controls light multiplication and fi...
Static component of PPE manager, used to hold the instance.
static PPEManager GetPPEManager()
Returns the manager instance singleton.
static ref PPEManager m_Manager
static void CreateManagerStatic()
static void DestroyManagerStatic()
Param GetCurrentValues()
Careful, only actual values, WITHOUT string.
Param GetDefaultValues()
Careful, formating is such, that param1 is ALWAYS string, containing parameter name,...
Dummy class - PostProcessEffectType.None.
RadialBlur - PostProcessEffectType.RadialBlur.
Rain - PostProcessEffectType.Rain.
Data for one material parameter, requester side.
map< int, ref map< int, ref PPERequestParamDataBase > > GetActiveRequestStructure()
void OnUpdate(float delta)
int GetRequesterIDX()
Returns requester index.
SMAA - PostProcessEffectType.SMAA.
SSAO - PostProcessEffectType.SSAO.
SunMask - PostProcessEffectType.SunMask.
UnderWater - PostProcessEffectType.UnderWater.
WetDistort - PostProcessEffectType.WetDistort.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
PostProcessEffectType
Post-process effect type.
proto native void SetCameraPostProcessEffect(int cam, int priority, PostProcessEffectType type, string materialPath)