Advanced Post Processing Suite for ENBSeries by Kermles
Skyrim » Visuals and graphics
Added: 20/03/2013 - 01:07AM
Updated: 24/10/2013 - 12:25AM

48 Endorsements

4b Latest version

2,237 Unique D/Ls

2,785 Total D/Ls

23,297 Total Views

Uploaded by Kermles


Last updated at 0:25, 24 Oct 2013 Uploaded at 1:07, 20 Mar 2013

Advanced Post Processing Suite for ENBSeries by Kermles, version 4.0

Version 4.0! Biggest update so far! Added various new effects from the Nvidia Shader Library such as Color Polarization, Bleach Bypass, Color Grading, Lossless HSV conversion, etc. Added new final Contrast/Brightness/Saturation adjustments based on a formula that is the product of many hours of research and advanced color control principles, reworked all the Post Processing methods to preserve and enhance the effect of HDR, fixed green tint of PP8, improved Curve Bloom further, reorganized file for ease of use and aesthetics, improved shadow color controls, and fixed various bugs, should hopefully be a flawless release!

Thank you so much to all who have downloaded or endorsed my file so far!

What this file is:

My file is a modified enbeffect.fx for use with ENB for TESV Skyrim that contains several advanced new effects and post processing methods, designed to provide as much control over the scene as possible while preserving important details and characteristics of ENB such as HDR. It includes the standard post processing methods 1-4 from default ENBSeries, plus v0 by JawZ, v5 by HD6, v6 and v7 by me, and V8 which is a modified version of Improved tonemapping by Brodiggan.


Here is a full list of the effects in my file:

//Bloom effects
#define CURVE_BLOOM 1 // Precise bloom type that avoids affecting dark areas.
#define CRISP_BLOOM 0 // Crisp bloom that avoids blurring colors around too much.
#define DIFFUSE_BLOOM 0 // More controlled and accurate bloom than default.
#define ENB_BLOOM 0 // Default ENB bloom with HSV color controls.
#define VANILLA_BLOOM 0 // Enables vanilla bloom and its corresponding controls.

//Bloom modifiers
#define BLOOM_COLORIZATION 0 // Adjusts intensity of bloom RGB and CMY color channels.
#define COMBINE_BLOOM 0 // Combines vanilla bloom with any other bloom type.
#define BLOOM_DEFUZZ 0 // Attempts to remove some haziness from bloom.
#define BLOOM_ADD 1 // Uses addition for bloom, adding it to the original image. Most reliable option.
#define BLOOM_LERP 0 // Uses interpolation to blend the bloom colors with the orginal image. Results in a hazy effect.

//General color control
#define HSV_CONTROLS 0 // Modifies colors using Hue/Saturation/Value controls.
#define HSV_EQUALIZER 0 // Adjusts saturation of various colors individually.
#define COLOR_FILTER 0 // Adjusts intensity of RGB and CMY color channels.
#define COLORSAT_DAYNIGHT 0 // Adjusts saturation (not the same as intensity) of RGB and CMY color channels.
#define COLOR_TWEAKS 0 // Provides control over brightness, contrast and saturation with in-game adjustment.
#define FINAL_ADJUSTMENTS 1 // Highest quality brightness, saturation and contrast controls in the file. Happens after all other effects.
// Adjustments operate in linear space, compensate for gamma correction, and preserve dynamic range of the scene.

//Specialized color control
#define COLOR_POLARIZATION 1 // Polarizes original colors along the color wheel based on a specified color, original colors
// close to the specified color will be shifted towards it and opposite colors will be accentuated.
#define COLOR_GRADING 1 // Original RGB color channels are shifted towards a specified color, then remixed.
#define BLEACH_BYPASS 0 // Effect used in cinema that desaturates the image and increases contrast.
#define SEPIATONE 0 // Effect used in cinema that desaturates and tints the image.
#define ENB_PALETTE 0 // Enables ENB palette texture mixing. Enable UsePaletteTexture in enbseries.ini. Warning: Limits dynamic range!

//Adaptation effects
#define VANILLA_ADAPTATION 0 // Enables vanilla adaptation and its corresponding controls.
#define HD6_ADAPTATION 1 // Adaptation only occurs when looking at very bright objects.

//Overlay effects
#define MT_VIGNETTE 0 // Darkens edges of the screen slightly to increase focus on the center.
#define HD6_VIGNETTE 0 // A slightly different take on vignette.
#define GRAIN 0 // Enables animated film grain.
#define LETTERBOX_BARS 1 // Simulates a higher aspect ratio display for a more cinematic effect.

--Curve Bloom--

Curve Bloom is what I am calling the newest addition to my file, it is a very precise type of bloom that only affects the areas of the screen that you want it to based on brightness. It is very sharp, especially with low bloom radius settings in enbbloom.fx, and it does not affect the overall brightness of the scene if you don't want it to. The code is simple, fast and easy to configure.

Some example shots:

--Shadow/Bright spot/mood coloring--

I wanted a way to control colors in the scene individually and based on brightness instead of just running the same control on every pixel. So I wrote a little shadow color control that lets you define the color of dark areas of the scene without affecting bright parts or making the scene darker, that does not cause color clipping.
The effect can be similar to SweetFX color grading if you are familiar, it is customizable so you can achieve a varied look with it. The control has also been adapted to separately control bright spots as well, so shadow and bright spot colors can both be controlled individually.

Example of on/off with shadow color set to blue:

The advantage of this over SweetFX color grading is that it runs before the optional adaptation kicks in, so you do not see colors of the scene morph around depending on brightness, also the color saturation, brightness and contrast adjustments run twice, once before the color controls and once after, to help any colors changed by the color controls look and act as if they are an original part of the scene.

There is also a mood coloring effect based on the work by the illustrious dpeasant that affects midranges and again is independently configurable.

--Intelligent Saturation Control--

For good measure there is now an intelligent saturation control, that desaturates parts of the image based on their original saturation, so colors that were very saturated stay bright, but less saturated colors are desaturated further. It leads to a more contrast-y look that helps things pop out of the image a bit more. Saltr originally came up with this idea and MTichenor wrote the HSV conversion functions.

--Brightness, Contrast and Adaptation--

Besides those main features, I have added several extra controls for brightness that happen at different stages during the postprocessing pass for full control over the scene intensity, and I have reworked adaptation to also slightly increase contrast as well, so your image does not look as hazy when you turn on adaptation. Hopefully it slightly reduces the visibility of the effect while still preserving a comfortable and accurate brightness level for the scene.

--DNI Separation--

All of the post processing controls in the Skyrim file are fully DNI separated with help from MTichenor and JawZ, whose excellent MIXEDenbeffect.fx I decided to write my post processing method in. I have also edited the file a bit to add in HD6's Crisp and Screen Bloom.


As a rule, when you are using any new enbeffect.fx file, it is best to generate a fresh enbseries.ini rather than use one that has been tweaked for a different enbeffect.fx. If you generate a new .ini my post processing should come out to look very close to vanilla until you tweak the values, however I cannot guarantee what it will look like if you use an already tweaked ini. However if you would like help adapting my post processing to an existing config I can do my best to help, just let me know. :)

When tweaking my file, I advise you to change one variable at a time until you know what you are doing with the values, it sucks to get mixed up between multiple edits and forget how to undo.

And above all please remember, my postprocessing variables may work differently than the similarly named variables in other post processing methods! There are detailed instructions inside the file that explain much more about how to use my postprocessing.

Also, if you have tips for me or a suggestion on what to change or add to make this file better, please let me know! I want this to be the best file it can be. And please tell me right away if you find any bugs, I would really appreciate it.


Please check my screenshots page to see the wide variety of styles my postprocessing can achieve!

I have set the default values to be as close as possible to vanilla post processing, so these first set of screens may not impress that much, but of course if changed, it can look however you want. Here are some before/after comparison screens with a default enbseries.ini, set in Markarth:

vanilla post processing

My post processing V6

vanilla post processing

My post processing V6

Here are some screens using my post processing method with different values and a configured enbseries.ini (if you like these pictures, I have uploaded the settings I used to get them in the optional downloads section)


Download the latest ENBSeries file from (you can use either wrapper or injector, I use wrapper)and extract all the files into your Skyrim main directory (NOT the data directory!) where tesv.exe is located, unless you already have those files.

Next, download my file and place it in the same folder as you put the other files, and overwrite when prompted. Best to back up your original enbeffect.fx first in case you want to revert!

I highly suggest before you launch Skyrim to see the changes, you read the tweaking instructions at the top of the file! To view the file, open it with notepad or the program I highly recommend, notepad++! It makes reading and editing it much much easier.

Get it here:

The file includes detailed instructions on tweaking and how to achieve various effects. If you do not read them, I cannot be expected to provide support on issues that it covers! Please read them first before you come to me with problems.

If you need any help with any of these steps or with a certain aspect of the file, please ask in the comments section so other users can see how to solve if they have the same problem.


Boris Vorontsov, for creating the amazing ENBseries mod and the Post Processing V2 method;

HeliosDoubleSix for creating Post Processing V5, Crisp and Screen Bloom and various other useful features in the file;

IndigoNeko/MTichenor for his work on the excellent Skyrealism ENB that this file includes features from such as HSV conversion and DNI separation;

Saltr for coming up with the great idea for HSV desaturation;

Dpeasant for very helpfully adapting the Mood Coloring code from OBGE to make it compatible with ENB;

Brodiggan for designing an excellent set of functions that my file uses;

--JawZ-- for combining code from IndigoNeko/MTichenor, HD6 and Boris Vorontsov into one file, further DNI separating it, reorganizing it and adding new features such as Bloom Colorization, helping me with the mod page layout and for encouraging me to release this file;

Frank Aprile for very generously helping me test my file and upcoming config in his spare time;

Kyokushinoyama for cheering me up when I needed it;

Aiyeen for the idea of color adaptation, huge help with bugfixing, and sticking with all my
weird changes and missteps;

nexzstac for huge help with bugfixing and giving me new ideas to improve my file;

And a little bit of credit goes to me for designing the new controls and organizing existing code into a new post processing method, adding a couple of HD6's features into JawZ's file, and editing the enbseries.ini found in the downloads section.

Please, if you like my file, Go check out any of these mods;

saltr's > saltr ENB

--JawZ-- > ENB Weathers Extended, Guide to ENB series mods and ENB Presets.

MTichenor's amazing ENB > Skyrealism ENB

HeliosDoubleSix/HD6 revolutionary > CLENB

Brodiggan's superb > Improved Tonemapping for ENB

Dpeasents awe inspiring Skyrim Screenshots at the

And of course the ENB author and creator Boris Vorontsov own homepage


If you want to upload this file to another site, please ask me first. It really confuses the support process when files are available from different websites, so I want to have a bit of control over that so that I can provide assistance with any issues as best as I can for as many users as possible.

Also, for anyone who shares this file at all, all the credits inside the file must remain intact! And I would appreciate if you include the instructions inside the file with your upload so that future tweakers know how to use it better. You are free to modify and share this file as you see fit other than those two things.

If you like my file, please consider endorsing it, and while you are at it consider checking out and endorsing the mods by the other modders credited in this file! Modding games can be tough sometimes and any endorsements or friendly comments we receive really do help encourage us to keep working on bringing you new things to play with! We are grateful for your support! Not only that, but it greatly helps other users find the file as well!

If you have any questions, comments or want to say hi, please let me know in the comments or in a pm, I will do my best to respond quickly.

I look forward to seeing your screenshots!
Thank you!!!