Created once, on manager init. Script-side representation of C++ material class, separate handling. More...
Private Member Functions | |
void | PPEClassBase (string mat_path_override="") |
protected void | Init (string mat_path_override="") |
protected void | CreateMaterial () |
Material | GetMaterial () |
protected void | CreateDataStructure () |
protected void | RegisterMaterialParameters () |
inserted into associative array by parameter int value, parameter registration order does not matter (still ordered, though) | |
protected void | RegisterParameterScalarBool (int idx, string parameter_name, bool default_value) |
protected void | RegisterParameterScalarInt (int idx, string parameter_name, int default_value, int min, int max) |
protected void | RegisterParameterScalarFloat (int idx, string parameter_name, float default_value, float min, float max) |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values... | |
protected void | RegisterParameterScalarFloatEx (int idx, string parameter_name, float default_value, float min, float max, typename type) |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values... | |
protected void | RegisterParameterColor (int idx, string parameter_name, float r, float g, float b, float a) |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values... | |
protected void | RegisterParameterColorEx (int idx, string parameter_name, float r, float g, float b, float a, typename type) |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values... | |
protected void | RegisterParameterVector (int idx, string parameter_name, array< float > default_values) |
protected void | RegisterParameterTexture (int idx, string parameter_name, string default_path) |
protected void | RegisterParameterResource (int idx, string parameter_name, string default_path) |
void | InsertParamValueData (PPERequestParamDataBase request_data) |
Distributes requester data to the material class structure and links them to appropriate parameter. | |
void | RemoveRequest (int req_idx) |
unused, see 'RemoveActiveRequestFromMaterials' for more info | |
void | OnUpdate (float timeslice, int order) |
generic update method, take care when overriding! | |
void | SetFinalParameterValue (int parameter_idx) |
Clamps the values being set to defaults, if there is no request setting non-zero values on the parameter. | |
void | ApplyValueChanges () |
protected void | InsertUpdatedParameter (int mat_id) |
void | ParamUpdateRemove (int parameter_idx) |
Queue selected parameter for removal from the update queue. | |
void | SetParameterUpdating (int order, int parameter_id) |
Queue specific parameter of this material to update. | |
protected void | ParamUpdateQueueCleanup (int order) |
string | GetDefaultMaterialPath () |
override this if you want to use different path by default; '.emat' is appended automatically | |
void | ChangeMaterialPathUsed (string path) |
string | GetCurrentMaterialPath () |
int | GetPostProcessEffectID () |
Overriden in all material classes! | |
PPEMatClassParameterCommandData | GetParameterCommandData (int parameter_idx) |
Some PP effects are handled as hard-coded exceptions, outside of material system. Default == PPEExceptions.NONE (systemic behaviour) | |
void | DbgPrnt (string text) |
Private Attributes | |
protected PPEManager | m_Manager |
protected string | m_MaterialPath = "" |
protected Material | m_Material |
protected ref map< int, ref array< int > > | m_ParameterUpdateQueueMap |
protected ref array< int > | m_ParameterRemovalQueue |
protected ref array< int > | m_UpdatedParameters |
protected ref map< int, ref PPEMatClassParameterCommandData > | m_MaterialParamMapStructure |
Created once, on manager init. Script-side representation of C++ material class, separate handling.
|
inlineprivate |
References CreateDataStructure(), CreateMaterial(), Init(), and RegisterMaterialParameters().
|
inlineprivate |
References m_UpdatedParameters, and SetFinalParameterValue().
Referenced by ProcessApplyValueChanges().
|
inlineprivate |
References CreateMaterial(), m_Material, m_MaterialPath, and path.
Referenced by ChangePPEMaterial().
|
inlineprivate |
References m_MaterialParamMapStructure, m_ParameterRemovalQueue, m_ParameterUpdateQueueMap, and m_UpdatedParameters.
Referenced by PPEClassBase().
|
inlineprivate |
References GetGame(), World::GetMaterial(), CGame::GetWorld(), m_Material, and m_MaterialPath.
Referenced by ChangeMaterialPathUsed(), and PPEClassBase().
|
inlineprivate |
|
inlineprivate |
References m_MaterialPath.
|
private |
override this if you want to use different path by default; '.emat' is appended automatically
Referenced by Init().
|
inlineprivate |
References m_Material.
Referenced by ChangePPEMaterial().
|
inlineprivate |
Some PP effects are handled as hard-coded exceptions, outside of material system. Default == PPEExceptions.NONE (systemic behaviour)
References m_MaterialParamMapStructure.
Referenced by GetPostProcessCurrentValues(), GetPostProcessDefaultValues(), PPEDOF::SetFinalParameterValue(), PPEExposureNative::SetFinalParameterValue(), PPEEyeAccomodationNative::SetFinalParameterValue(), PPELightIntensityParamsNative::SetFinalParameterValue(), and SetFinalParameterValue().
|
inlineprivate |
Overriden in all material classes!
Referenced by InsertParamValueData(), OnUpdate(), RegisterParameterColor(), RegisterParameterColorEx(), RegisterParameterResource(), RegisterParameterScalarBool(), RegisterParameterScalarFloat(), RegisterParameterScalarFloatEx(), RegisterParameterScalarInt(), RegisterParameterTexture(), RegisterParameterVector(), and RegisterPPEClass().
|
inlineprivate |
References GetDefaultMaterialPath(), PPEManagerStatic::GetPPEManager(), m_Manager, and m_MaterialPath.
|
inlineprivate |
Distributes requester data to the material class structure and links them to appropriate parameter.
References Error(), PPERequestParamDataBase::GetParameterID(), GetPostProcessEffectID(), PPERequestParamDataBase::GetRequesterIDX(), PPEMatClassParameterCommandData::InsertRequestData(), m_MaterialParamMapStructure, PPERequestParamDataBase::SetDataActive(), and PPERequestParamDataBase::SetUpdatingDataValues().
Referenced by SendMaterialValueData().
|
inlineprivate |
References m_UpdatedParameters.
Referenced by OnUpdate().
generic update method, take care when overriding!
References Count, GetPostProcessEffectID(), InsertUpdatedParameter(), m_Manager, m_MaterialParamMapStructure, m_ParameterUpdateQueueMap, and ParamUpdateQueueCleanup().
Referenced by ProcessMaterialUpdates().
|
inlineprivate |
References Count, m_ParameterRemovalQueue, and m_ParameterUpdateQueueMap.
Referenced by OnUpdate().
|
inlineprivate |
Queue selected parameter for removal from the update queue.
References m_ParameterRemovalQueue.
|
private |
inserted into associative array by parameter int value, parameter registration order does not matter (still ordered, though)
Referenced by PPEClassBase().
|
inlineprivate |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values...
References GetPostProcessEffectID(), and m_MaterialParamMapStructure.
Referenced by PPEColors::RegisterMaterialParameters(), PPEDistort::RegisterMaterialParameters(), PPEGhost::RegisterMaterialParameters(), and PPEGlow::RegisterMaterialParameters().
|
inlineprivate |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values...
References Class::CastTo(), GetPostProcessEffectID(), and m_MaterialParamMapStructure.
Referenced by PPEColors::RegisterMaterialParameters(), and PPEGlow::RegisterMaterialParameters().
|
inlineprivate |
References GetPostProcessEffectID(), and m_MaterialParamMapStructure.
|
inlineprivate |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values...
References GetPostProcessEffectID(), m_MaterialParamMapStructure, and PPEMatClassParameterFloat().
Referenced by PPEDOF::RegisterMaterialParameters(), PPEExposureNative::RegisterMaterialParameters(), PPEEyeAccomodationNative::RegisterMaterialParameters(), PPELightIntensityParamsNative::RegisterMaterialParameters(), PPEChromAber::RegisterMaterialParameters(), PPEColors::RegisterMaterialParameters(), PPEDepthOfField::RegisterMaterialParameters(), PPEDistort::RegisterMaterialParameters(), PPEDynamicBlur::RegisterMaterialParameters(), PPEFilmGrain::RegisterMaterialParameters(), PPEGaussFilter::RegisterMaterialParameters(), PPEGhost::RegisterMaterialParameters(), PPEGlow::RegisterMaterialParameters(), PPEGodRays::RegisterMaterialParameters(), PPEHBAO::RegisterMaterialParameters(), PPERadialBlur::RegisterMaterialParameters(), PPERain::RegisterMaterialParameters(), PPERotBlur::RegisterMaterialParameters(), PPESnowfall::RegisterMaterialParameters(), PPESSAO::RegisterMaterialParameters(), PPEUnderWater::RegisterMaterialParameters(), and PPEWetDistort::RegisterMaterialParameters().
|
inlineprivate |
WARNING - min/max values are usually taken from Workbench defaults, may not be actual min/max values the renderer can handle! When in doubt, try some higher/lower values...
References Class::CastTo(), GetPostProcessEffectID(), m_MaterialParamMapStructure, and PPEMatClassParameterFloat().
Referenced by PPEColors::RegisterMaterialParameters(), and PPEGlow::RegisterMaterialParameters().
|
inlineprivate |
References GetPostProcessEffectID(), and m_MaterialParamMapStructure.
Referenced by PPEDepthOfField::RegisterMaterialParameters(), PPEFXAA::RegisterMaterialParameters(), PPEGlow::RegisterMaterialParameters(), PPEHBAO::RegisterMaterialParameters(), PPEMedian::RegisterMaterialParameters(), PPESMAA::RegisterMaterialParameters(), PPESSAO::RegisterMaterialParameters(), and PPEWetDistort::RegisterMaterialParameters().
|
inlineprivate |
References GetPostProcessEffectID(), and m_MaterialParamMapStructure.
|
inlineprivate |
References GetPostProcessEffectID(), and m_MaterialParamMapStructure.
Referenced by PPEColors::RegisterMaterialParameters(), and PPEGlow::RegisterMaterialParameters().
|
inlineprivate |
unused, see 'RemoveActiveRequestFromMaterials' for more info
Referenced by RemoveActiveRequestFromMaterials().
|
inlineprivate |
Clamps the values being set to defaults, if there is no request setting non-zero values on the parameter.
References PPEMatClassParameterCommandData::GetCurrentValues(), GetParameterCommandData(), PPEMatClassParameterCommandData::GetParameterVarType(), m_Material, Param::param1, and Material::SetParamByIndex().
Referenced by ApplyValueChanges().
Queue specific parameter of this material to update.
References m_ParameterUpdateQueueMap.
Referenced by SetMaterialParamUpdating().
|
private |
Referenced by Init(), and OnUpdate().
|
private |
Referenced by ChangeMaterialPathUsed(), CreateMaterial(), GetMaterial(), and SetFinalParameterValue().
|
private |
Referenced by CreateDataStructure(), GetParameterCommandData(), InsertParamValueData(), OnUpdate(), RegisterParameterColor(), RegisterParameterColorEx(), RegisterParameterResource(), RegisterParameterScalarBool(), RegisterParameterScalarFloat(), RegisterParameterScalarFloatEx(), RegisterParameterScalarInt(), RegisterParameterTexture(), and RegisterParameterVector().
|
private |
Referenced by ChangeMaterialPathUsed(), CreateMaterial(), GetCurrentMaterialPath(), and Init().
Referenced by CreateDataStructure(), ParamUpdateQueueCleanup(), and ParamUpdateRemove().
Referenced by CreateDataStructure(), OnUpdate(), ParamUpdateQueueCleanup(), and SetParameterUpdating().