FANDOM


Introduction

Every value of the enbseries.ini of ENBSeries 0.248 is explained here. The values and their functions are same on 0.238 but 0.248 has a few more features so not every value can be found in both enbseries.ini versions.

The enbseries.ini

[GLOBAL]

UseEffect = true/false

If true, ENB applies its postprocessing effects. Keep in mind that the DLL is still hooked even when UseEffect=false.

[EFFECT]

UseOriginalPostProcessing=true/false

If true, ENB uses the game's vanilla postprocessing (has to be determined in the external shaders as "vanilla") which means that no bloom, lenz etc. is applied. Other games may have their own postprocessing, SA has none that means all these shader effects are off. This does not apply on internal effects like Shadows/Water! In order to use bloom, lenz, tonemapping, everything else done by external shaders, keep it on true.

EnableBloom=true/false

If true, ENB applies the enbbloom.fx shader. Missing or invalid shader will result in no visual changes!

EnableLens=true/false

If true, ENB applies the enblens.fx shader. Missing or invalid shader will result in no visual changes!

EnableAdaptation=true/false

If true, ENB applies eye adaptation, bright scenes get downscaled and dark scenes get upscaled, just like the human eye does it. Adaptation render target texture has to be used in enbeffect.fx in order to work.

EnableDepthOfField=true/false

If true, ENB applies the enbeffectprepass.fx shader which mostly contains DOF shader. Missing or invalid shader will result in no visual changes!

EnableShadow=true/false

If true, ENB applies its shadow shader. What it does is just darkening and blurring the game's vanilla stencil shadows. Any bugs or artifacts also exist in original game's shadows, there are just better visible with darker shadows.

EnableWater=true/false

If true, ENB applies a water shader on the water surfaces in the game. Small water surfaces like swimming pools or the muddy water in SA country side are ignored. Not compatible with SAMP by default but there's a ASI file that can fix that.

EnableReflection=true/false

If true, ENB applies reflection on cars. Keep in mind that ENB uses materials to detect what's car or not, if a modified car's tires start to reflect or car has no or hardly any reflections, it is not ENB's fault but the car mod author's.

EnableAmbientOcclusion=true/false

If true, ENB applies its SSAO (Screen-Space Ambient Occlusion) shader. It's basically some not physically correct shading technique used in many games to increase the perception of reality. Here is the wikipedia article about SSAO.

[COLORCORRECTION]

Colorcorrection does what the name says, it corrects the colors.

UsePaletteTexture=true/false

If true, enbpalette.bmp gets read and is available in enbeffect.fx. If false, the render target texture is black. What the palette does is depending on how it is used in the enbeffect.fx code. By default it is color grading but it can be used for many purposes.

UseProceduralCorrection=true/false

If true, Procedural CC shader in enbeffect.fx gets applied. This is a small code snippet that contains different color correction and tinting methods. Mossing or invalid shader will result in no visual changes! MasterEffect does not include the procedural correction.

Brightness=0.0 - x

Governs overall image brightness, higher is more.

GammaCurve=0.0 - x

Governs overall gamma curve of image. The equation is color = color ^ GammaCurve or in HLSL format: color = pow(color, GammaCurve);

[NIGHTDAY]

NDFactor

This is the detection used for all day/night split controls in the enbseries.ini and also for ENightDayFactor in all external shaders. In the explanation image DLD=0.75 and DLN=0.25 is used.

DetectorLevelDay=0.0 - 1.0 but larger than DetectorLevelNight

If average image brightness is larger than this value, ENB uses DAY values. Value is in percent (1.0 = 100%).

DetectorLevelNight=0.0 - 1.0 but smaller than DetectorLevelDay

If average image brightness is larger than this value, ENB uses NIGHT values. Value is in percent (1.0 = 100%).

DetectorLevelCurve=0.1-1.0

Curves the interpolation factor.

[ADAPTATION]

Returns a low res render target texture to enbeffect.fx for use in adaptation shaders. It applies eye adaptation, bright scenes get downscaled and dark scenes get upscaled, just like the human eye does it. Adaptation render target texture has to be used in enbeffect.fx in order to work.

ForceMinMaxValues=true/false

If true, texture's min and max brightness are clamped by AdaptationMin and AdaptationMax values below.

AdaptationSensitivity=0.001 – x

Governs the sensitivity of adaptation. If the screen brightness changes, it's depending on the sensitivity if the code reacts to it or not. Higher values need more drastic image brightness changes to react.

AdaptationTime=0.1 - x

Governs the adaptation speed. If the brightness changes, it takes the amount in seconds to adapt to the new image brightness. 2.0 means it takes 2 seconds to adjust.

AdaptationMin=0.01 – 10.0 but lower than AdaptationMax

Clamps the adaptation render target texture to this minimal brightness.

AdaptationMax=0.01 – 10.0 but lower than AdaptationMax

Clamps the adaptation render target texture to this maximal brightness.

[BLOOM]

Bloom is an effect that's based off the percetion of the human eye and camera lenses. Imagine a bright light source behind a small slit. It appears as if the bright light spreads its light beyond the slit borders. This shader attempts to recreate the look of this effect.

Quality=-1 to 2

Governs the quality of the bloom shader. -1 is best quality but lowest performance. Only works if bloom code is not altered, some custom shaders may make no use of quality integer.

AmountDay=0.0 - x

Governs the amount of bloom applied if DayNight detection returns DAY as value.

AmountNight=0.0 - x

Governs the amount of bloom applied if DayNight detection returns NIGHT as value.

AmountInterior=0.0 - x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

BlueShiftAmountDay=0.0 - x

Governs amount of blue tinting applied if DayNight detection returns DAY as value. Only works if bloom code is not altered, some custom shaders may make no use of quality integer.

BlueShiftAmountNight=0.0 - x

Governs amount of blue tinting applied if DayNight detection returns NIGHT as value.Only works if bloom code is not altered, some custom shaders may make no use of quality integer.

BlueShiftAmountInterior=0.0 - x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

[LENS]

Applies a lensflare to bright light sources. It's not texture-based but shader-generated so the size and shape of the lensflare is depending on the source.

LenzReflectionIntensityDay=0.0 - x

Governs intensity of lens flare applied if DayNight detection returns DAY as value.

LenzReflectionIntensityNight=0.0 - x

Governs intensity of lens flare applied if DayNight detection returns NIGHT as value.

LenzReflectionIntensityInterior=0.0 – x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

LenzReflectionPowerDay=0.0 - x

Governs power (curve) of lens flare applied if DayNight detection returns DAY as value.

LenzReflectionPowerNight=0.0 - x

Governs power (curve) of lens flare applied if DayNight detection returns NIGHT as value.

LenzReflectionPowerInterior=0.0 - x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

LenzDirtIntensityDay=0.0 - x

Governs intensity of dirt mask applied on lens if DayNight detection returns DAY as value. enblensmask.bmp has to exist in game directory and enblens.fx must use it. Invalid or missing shader / missing texture result in no visual changes.

LenzDirtIntensityNight=0.0 - x

Governs intensity of dirt mask applied on lens if DayNight detection returns NIGHT as value. enblensmask.bmp has to exist in game directory and enblens.fx must use it. Invalid or missing shader / missing texture result in no visual changes.

LenzDirtIntensityInterior=0.0 - x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

LenzDirtPowerDay=0.0 - x

Governs power (curve) of dirt mask applied on lens if DayNight detection returns DAY as value. enblensmask.bmp has to exist in game directory and enblens.fx must use it. Invalid or missing shader / missing texture result in no visual changes.

LenzDirtPowerNight=0.0 - x

Governs power (curve) of dirt mask applied on lens if DayNight detection returns NIGHT as value. enblensmask.bmp has to exist in game directory and enblens.fx must use it. Invalid or missing shader / missing texture result in no visual changes.

LenzDirtPowerInterior=0.0 – x

Not used. Skyrim/FNV ENB versions have interior/exterior detection and this value would be used in interiors but SA version lacks this detection so this value is never used.

[SHADOW]

Darkens and blurs the game's vanilla stencil shadows. Any bugs or artifacts also exist in original game's shadows, these are just better visible with darker shadows.

ShadowAmountDay=0.0 – x

Amount of stencil shadow darkening applied if DayNight detection returns DAY as value.

ShadowAmountNight=0.0 – x

Amount of stencil shadow darkening applied if DayNight detection returns NIGHT as value.

[WATER]

Applies a water shader on the water surfaces in the game. Small water surfaces like swimming pools or the muddy water in SA country side are ignored. Not compatible with SAMP by default but there's a ASI file that can fix that.

Deepness=0.0-x

Governs the "deepness" of the water. It's basically how intensive the water color is. A deepness of 200.0 would mean that water would need to be 200 metres deep in order to have full water color. High values make shallow water areas almost colorless because they are just not deep enough to get a visible amount of color.

Muddiness=0.0-1.0

Governs a somwewhat "foggy" look of the water, higher values make it look more polluted and muddy. Value is in percent (1.0 = 100%).

[CARS]

Not the film, duh. This section contains the controls of car reflections.

SpecDiffAmb

SpecularMinDay=0.0-1.0

Governs the minimum amount of specular lighting applied on cars if DayNight detection returns DAY as value. Take a look at the image which explains the different lighting methods. Value is in percent (1.0 = 100%).

SpecularMinNight=0.0-1.0

Governs the minimum amount of specular lighting applied on cars if DayNight detection returns NIGHT as value. Take a look at the image which explains the different lighting methods. Value is in percent (1.0 = 100%).

SpecularMaxDay=0.0-1.0

Governs the maximum amount of specular lighting applied on cars if DayNight detection returns DAY as value. Take a look at the image which explains the different lighting methods. Value is in percent (1.0 = 100%).

SpecularMaxNight=0.0-1.0

Governs the maximum amount of specular lighting applied on cars if DayNight detection returns NIGHT as value. Take a look at the image which explains the different lighting methods. Value is in percent (1.0 = 100%).

SpecularMultiplierDay=0.0-x

Governs the intensity of the specular lighting if DayNight detection returns DAY as value. This is needed as additional value because if the specularity is 1.0 all light coming from source gets reflected, it can't be higher than 1.0 because it can't be more light reflected by a surface than what hits it. This value here scales it further.

SpecularMultiplierNight=0.0-x

Governs the intensity of the specular lighting if DayNight detection returns NIGHT as value. This is needed as additional value because if the specularity is 1.0 all light coming from source gets reflected, it can't be higher than 1.0 because it can't be more light reflected by a surface than what hits it. This value here scales it further.

GlossinessMinDay=0.0-1.0

Governs the minimum amount of glossy reflection applied if DayNight detection returns DAY as value. This is no specific lighting method but just some kind of non screen-space glossy reflection. WHAT is actually reflected, god or better, Boris Vorontsov knows. Value is in percent (1.0 = 100%).

GlossinessMinNight=0.0-1.0

Governs the minimum amount of glossy reflection applied if DayNight detection returns NIGHT as value. This is no specific lighting method but just some kind of non screen-space glossy reflection. WHAT is actually reflected, god or better, Boris Vorontsov knows. Value is in percent (1.0 = 100%).

GlossinessMaxDay=0.0-1.0

Governs the maximum amount of glossy reflection applied if DayNight detection returns DAY as value. This is no specific lighting method but just some kind of non screen-space glossy reflection. WHAT is actually reflected, god or better, Boris Vorontsov knows. Value is in percent (1.0 = 100%).

GlossinessMaxNight=0.0-1.0

Governs the maximum amount of glossy reflection applied if DayNight detection returns NIGHT as value. This is no specific lighting method but just some kind of non screen-space glossy reflection. WHAT is actually reflected, god or better, Boris Vorontsov knows. Value is in percent (1.0 = 100%).

GlossinessMultiplierDay=0.0-x

Governs the intensity of the glossy reflection if DayNight detection returns DAY as value. This is needed as additional value because if the reflection amount is 1.0 all light coming from source gets reflected, it can't be higher than 1.0 because it can't be more light reflected by a surface than what hits it. This value here scales it further.

GlossinessMultiplierNight=0.0-x

Governs the intensity of the glossy reflection if DayNight detection returns NIGHT as value. This is needed as additional value because if the reflection amount is 1.0 all light coming from source gets reflected, it can't be higher than 1.0 because it can't be more light reflected by a surface than what hits it. This value here scales it further.

ReflectionSourceSpecular=0.0-1.0

Governs the specular material color as reflection factor. This is one of the main causes if ENB doesn't recognize a car as a car because the car modder did not export or set up the specular material color correctly. Value is in percent (1.0 = 100%).

ReflectionSourceTFactor=0.0-1.0

Governs the "texture factor" as game environment map mix level (reflection in exporter). This is one of the main causes if ENB doesn't recognize a car as a car because the car modder did not export or set up the material correctly. Value is in percent (1.0 = 100%).

ReflectionAmount=0.0-10.0

Governs the overall reflection amount applied.

ReflectionFrennelFactor=0.0-10.0

"Frennel" is Boris' English for "Fresnel". There are many pictures of the web we can't use due to license issues. The effect appears also in reallife: if you look at a metal surface perpendiculary, the fresnel effect causes that you see barely any reflection. If you look flat on it with a low angle, you suddently see some shinyness - the metal surface which appeared before as not reflecting suddently reflects something. The higher the ReflectionFrennelFactor, the less reflection is applied if the angle between car surface and view direction is small.

GlassReflectionAmount=0.0-10.0

Governs the overall reflection amount applied on car glass surfaces only. This only works if the car mod author specified the car glass correctly as such.

GlassFrennelFactor=0.0-10.0

"Frennel" is Boris' English for "Fresnel". There are many pictures of the web we can't use due to license issues. The effect appears also in reallife: if you look at a metal surface perpendiculary, the fresnel effect causes that you see barely any reflection. If you look flat on it with a low angle, you suddently see some shinyness - the metal surface which appeared before as not reflecting suddently reflects something. The higher the ReflectionFrennelFactor, the less reflection is applied if the angle between glass surface and view direction is small. This only works if the car mod author specified the car glass correctly as such.

IBLAmount=0.0-1.0

Governs the amount of Image Based Lighting applied. The ENB implementation of IBL differs from the real meaning, it seems like the skycolors are somewhat involved in the reflection process and tint the car color. High values cause black cars being not black but rather dark blue, depending on sky color.

[SSAO_SSIL]

SSAO stands for Sreen-Space Ambient Occlusion, SSIL for Screen-Space Indirect Lighting. SSAO is a not physically correct shading algorithm. Here is the wikipedia article about SSAO. SSIL is similiar to SSAO (actually SSAO with extremely high sampling range, causing a brightening of hidden corners, acting like bumped sunlight, hence the name).

UseIndirectLighting=true/false

If true, a second SSAO algorithm is enabled with an extremely upscaled sampling range, causing a brightening of hidden corners, acting like bumped sunlight. SSAO is still enabled when SSIL is on, though in some cases the SSIL seems to decrease the amount of SSAO applied.

SamplingQuality=-1 to 2

Governs the quality of the SSAO/SSIL shader. -1 is best quality but lowest performance.

SamplingPrecision=-1 to 2

Governs the precision of the SSAO/SSIL sampling. Higher quality lets the shader scan more precisely where SSAO has to be applied.

SamplingRange=0.0-x

Governs the range of SSAO/SSIL sampling algorithm. If low, the shader only checks a small area for covering (the more covered, the more SSAO applied).

FadeFogRangeDay=0.0-x

This does not alter the look of SSAO in any way, keep it default. It should fade out the SSAO in the distance but actually does nothing at all. It's unknown if Boris Vorontsov made a mistake or disabled it on purpose.

FadeFogRangeNight=0.0-x

This does not alter the look of SSAO in any way, keep it default. It should fade out the SSAO in the distance but actually does nothing at all. It's unknown if Boris Vorontsov made a mistake or disabled it on purpose.

SizeScale=0.0-x

Governs the SSAO/SSIL rendering resolution. 1.0 means that SSAO is rendered in fullscreen, which is extremely laggy. 0.5 means that SSAO is rendered in half the screen's resolution, being more blurred but also running faster.

SourceTextureScale=0.0-x

Governs the SSAO/SSIL sampling resolution. 1.0 means that SSAO checks the environment in fullscreen, which is extremely laggy. 0.5 means that SSAO checks the environment in half the screen's resolution, being more blurred but also running faster. It's important to know here that SSAO checks per pixel. Less pixel = less work for renderer and graphics card.

FilterQuality=-1 to 2

Governs the precision of the SSAO/SSIL post filter which should reduce noise and improve quality.

AOAmount=0.0-x

Governs the amount of SSAO only.

ILAmount=0.0-x

Governs the amount of SSIL only.

AOIntensity=0.0-x

Governs the intensity of both SSAO/SSIL - or at least, it should. SSIL is barely visible in most cases so this needs proof.

AOMixingType=1 to 6

Governs the way the SSAO/SSIL is mixed with original image. We can only guess how the single mixing types work, source code of ENB is not open and Boris Vorontsov never gave information about this anywhere. APPLY CHANGES has to be clicked in the GUI in order to make changes visible.

EnableComplexFilter=true/false

If true, ENB uses a more complex SSAO/SSIL algorithm. Causes a significant fps hit but looks better.

EnableDenoiser=true/false

If true, ENB attempts to reduce the noise visible in motion caused by the randomized SSAO/SSIL samples.