Guide:ENBseries INI/Depthoffield

From STEP Modding Wiki

[DEPTHOFFIELD]

File configuration (INI) for this effect is very simple. It contains three parameters, from which actually only one has noticable influance on how the depth of filed effect works. And that is FadeTime:

FadeTime=1.0

The parameter controls the time (seconds) in which camera will focus to a certain distance (acquired from a focal point; usually a distance sampled for the center of the screen, but it depends on the actual implementation of the effect).

Quality=0

Quality parameter controls the quality of the effect, should the enbeffectprepass.fx file be setup for this - most are not so this will never do anything. Otherwise, the lower the value set to the parameter, the bigger the effect quality, supposedly.

IgnoreWeatherSystem=(false, true)

Last of the INI parameters in this section is IgnoreWeatherSystem. This is present in most of the other sections as well. The parameter works only when multiple weathers are enabled.

DoF in-code parameters

Note, that not only the depth of field effect can be applied in the enbeffectprepass.fx file. Different ENB code additions introduced a number of other, simple effects, applied along with DoF.

Most of the DoF settings can be changed in the enbeffectprepass.fx FX file itself. With current ENB version these parameters can be changed in-game, via ENB GUI as well. All variables defined in a proper manner are exported to enbeffectprepass.fx.ini file for easier configurability, i.e. one donnot need to change their value within the code itself, but do as like with any other parameters from main INI configuration file. An example of a variable from this effect file is showed below:

float	fRetinaFocusPoint
<
	string UIName="DoF: Retina focus point, dpt";
	string UIWidget="Spinner";
	float UIMin=2.0;
	float UIMax=40000.0;
> = {260.0};

As we can see, most improtant part of the above definition is the part describing the user interface (UI) components for the variable. According to the information ENB creates an entry in relevent INI file and at in-game GUI. First essential parameter of the UI setup is UIName of the variable - this string defines an identifier for the variable in both INI file and GUI. Via the name we can configure the variable as described above.

Other parameters can be omitted, depending on the type of the variable. In case of a boolean (the one that can only have values false or true), the UIName parameter is the only one used. In case of numeric types on the other hand, like int (integer number) and float (floating-point, real number), we have UIMin and UIMax. As their names state they define minimum and maximum values that the variable can have.

Next important parameter here is UIWidget. It configures the way how the variable can be changed. There are two essential values the parameter can have - Spinner and Color. First of them allows changing the value using arrows (visible at in-game GUI) and refers to numeric types (mostly float). The value ranges between number given with UIMin and UIMax parameters. The latter option is used in regard to 3-element floating-point vectors float3, and allows to define them as RGB or HSV color (the actual value stored in INI file is always RGB).

The above description of the in-code parameters refer to all effect files and their variables. INI files containing values of the varibles are created in the enbseries subdirectory (the same place where weather configuration files are located). The default values of the variables are defined at the end of the UI parameters setup.

Matso (talk) 04:58, May 12, 2015 (EDT)