DayZ 1.24
Loading...
Searching...
No Matches
PPEDOF Class Reference

DOF postprocess, does not directly use materials. More...

Inheritance diagram for PPEDOF:
[legend]
Collaboration diagram for PPEDOF:
[legend]

Private Member Functions

override int GetPostProcessEffectID ()
 
override void RegisterMaterialParameters ()
 
override void ApplyValueChanges ()
 
override void SetFinalParameterValue (int parameter_idx)
 Overriden to handle the specific exception.
 
- Private Member Functions inherited from PPEClassBase
void PPEClassBase (string mat_path_override="")
 
void Init (string mat_path_override="")
 
void CreateMaterial ()
 
Material GetMaterial ()
 
void CreateDataStructure ()
 
void RegisterMaterialParameters ()
 inserted into associative array by parameter int value, parameter registration order does not matter (still ordered, though)
 
void RegisterParameterScalarBool (int idx, string parameter_name, bool default_value)
 
void RegisterParameterScalarInt (int idx, string parameter_name, int default_value, int min, int max)
 
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...
 
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...
 
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...
 
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...
 
void RegisterParameterVector (int idx, string parameter_name, array< float > default_values)
 
void RegisterParameterTexture (int idx, string parameter_name, string default_path)
 
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 ()
 
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.
 
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)
 

Static Private Attributes

static const int PARAM_ENABLE = 0
 
static const int PARAM_FOCUS_DIST = 1
 
static const int PARAM_FOCUS_LEN = 2
 
static const int PARAM_FOCUS_LEN_NEAR = 3
 
static const int PARAM_BLUR = 4
 
static const int PARAM_FOCUS_DEPTH_OFFSET = 5
 
static const int L_0_ADS = 100
 
static const int L_1_ADS = 100
 
static const int L_2_ADS = 100
 
static const int L_3_ADS = 100
 
static const int L_4_ADS = 100
 
static const int L_5_ADS = 100
 

Additional Inherited Members

- Private Attributes inherited from PPEClassBase
PPEManager m_Manager
 
string m_MaterialPath = ""
 
Material m_Material
 
ref map< int, ref array< int > > m_ParameterUpdateQueueMap
 
ref array< intm_ParameterRemovalQueue
 
ref array< intm_UpdatedParameters
 
ref map< int, ref PPEMatClassParameterCommandDatam_MaterialParamMapStructure
 

Detailed Description

DOF postprocess, does not directly use materials.

Definition at line 5 of file PPEDOF.c.

Member Function Documentation

◆ ApplyValueChanges()

override void PPEDOF::ApplyValueChanges ( )
inlineprivate

Definition at line 39 of file PPEDOF.c.

40 {
41 if (m_UpdatedParameters.Count() > 0)
42 {
43 SetFinalParameterValue(-1); //unique handling
44 }
45
46 m_UpdatedParameters.Clear();
47 }
ref array< int > m_UpdatedParameters
override void SetFinalParameterValue(int parameter_idx)
Overriden to handle the specific exception.
Definition PPEDOF.c:50

References PPEClassBase::m_UpdatedParameters, and SetFinalParameterValue().

◆ GetPostProcessEffectID()

override int PPEDOF::GetPostProcessEffectID ( )
inlineprivate

Definition at line 22 of file PPEDOF.c.

23 {
24 return PPEExceptions.DOF;
25 }
PPEExceptions

◆ RegisterMaterialParameters()

override void PPEDOF::RegisterMaterialParameters ( )
inlineprivate

Definition at line 27 of file PPEDOF.c.

28 {
29 //no known max. 1000 used as max
31
32 RegisterParameterScalarFloat(PARAM_FOCUS_DIST, "FocusDistance", 2.0, 0.0, 1000.0); //2.0f used in code with null camera interpolation
33 RegisterParameterScalarFloat(PARAM_FOCUS_LEN, "FocusLength", -1.0, -1.0, 1000.0); //-1.0f used as code default
34 RegisterParameterScalarFloat(PARAM_FOCUS_LEN_NEAR, "FocusLengthNear", -1.0, -1.0, 1000.0); //-1.0f used as code default
35 RegisterParameterScalarFloat(PARAM_BLUR, "Blur", 1.0, 0.0, 1000.0); //1.0f used in code with null camera interpolation
36 RegisterParameterScalarFloat(PARAM_FOCUS_DEPTH_OFFSET, "FocusDepthOffset", 0.0, 0.0, 1000.0); //0.0f used as code default
37 }
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 ...
void RegisterParameterScalarBool(int idx, string parameter_name, bool default_value)
static const int PARAM_FOCUS_LEN
Definition PPEDOF.c:10
static const int PARAM_FOCUS_LEN_NEAR
Definition PPEDOF.c:11
static const int PARAM_FOCUS_DIST
Definition PPEDOF.c:9
static const int PARAM_BLUR
Definition PPEDOF.c:12
static const int PARAM_FOCUS_DEPTH_OFFSET
Definition PPEDOF.c:13
static const int PARAM_ENABLE
Definition PPEDOF.c:8

References PARAM_BLUR, PARAM_ENABLE, PARAM_FOCUS_DEPTH_OFFSET, PARAM_FOCUS_DIST, PARAM_FOCUS_LEN, PARAM_FOCUS_LEN_NEAR, PPEClassBase::RegisterParameterScalarBool(), and PPEClassBase::RegisterParameterScalarFloat().

◆ SetFinalParameterValue()

override void PPEDOF::SetFinalParameterValue ( int parameter_idx)
inlineprivate

Overriden to handle the specific exception.

Definition at line 50 of file PPEDOF.c.

51 {
53 bool is_enabled = Param1<bool>.Cast(enabled_par).param1;
54
55 if (is_enabled)
56 {
58
59 for (int i = 1; i < PARAM_FOCUS_DEPTH_OFFSET + 1; i++)
60 {
62 float value_var_float = Param1<float>.Cast(values).param1;
64 }
65
67 }
68 else
69 g_Game.OverrideDOF(false, 0.0, 0.0, 0.0, 0.0, 1.0);
70 }
DayZGame g_Game
Definition DayZGame.c:3528
PPEMatClassParameterCommandData GetParameterCommandData(int parameter_idx)
Some PP effects are handled as hard-coded exceptions, outside of material system. Default == PPEExcep...
Param GetCurrentValues()
Careful, only actual values, WITHOUT string.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Definition param.c:12

References g_Game, PPEMatClassParameterCommandData::GetCurrentValues(), PPEClassBase::GetParameterCommandData(), PARAM_BLUR, PARAM_ENABLE, PARAM_FOCUS_DEPTH_OFFSET, PARAM_FOCUS_DIST, PARAM_FOCUS_LEN, and PARAM_FOCUS_LEN_NEAR.

Referenced by ApplyValueChanges().

Member Data Documentation

◆ L_0_ADS

const int PPEDOF::L_0_ADS = 100
staticprivate

Definition at line 15 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ L_1_ADS

const int PPEDOF::L_1_ADS = 100
staticprivate

Definition at line 16 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ L_2_ADS

const int PPEDOF::L_2_ADS = 100
staticprivate

Definition at line 17 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ L_3_ADS

const int PPEDOF::L_3_ADS = 100
staticprivate

Definition at line 18 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ L_4_ADS

const int PPEDOF::L_4_ADS = 100
staticprivate

Definition at line 19 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ L_5_ADS

const int PPEDOF::L_5_ADS = 100
staticprivate

Definition at line 20 of file PPEDOF.c.

Referenced by PPERequester_GameplayBase::SetValuesIronsights().

◆ PARAM_BLUR

const int PPEDOF::PARAM_BLUR = 4
staticprivate

◆ PARAM_ENABLE

◆ PARAM_FOCUS_DEPTH_OFFSET

const int PPEDOF::PARAM_FOCUS_DEPTH_OFFSET = 5
staticprivate

◆ PARAM_FOCUS_DIST

const int PPEDOF::PARAM_FOCUS_DIST = 1
staticprivate

◆ PARAM_FOCUS_LEN

const int PPEDOF::PARAM_FOCUS_LEN = 2
staticprivate

◆ PARAM_FOCUS_LEN_NEAR

const int PPEDOF::PARAM_FOCUS_LEN_NEAR = 3
staticprivate

The documentation for this class was generated from the following file: