Jump to content

Modular Shader Library for ENBSeries [Fallout 4]


Recommended Posts

While chatting with some folks at the STEP forum in the enbseries.ini guide, we, myself, Aiyen, Matso and TechAngel,
agreed that it would be helpful to newcomers to the ENBSeries "world" to supply them with easy and highly configurable
shader files. And that it had a clean look with good amount of info in them, letting the "reader" of the code see what each
code line actually do to achieve that particular visual effect.
So I started whipping up my own shader library, borrowing the base template, sort of anyway, from Aiyen's Skylight ENB.

This is however not an extension of Aiyen's Skylight ENB preset, rather something totally different. A base code library for
anyone to configure and expand how they see fit.

Highly customizable and easy customization and addition of various effects for the purpose of altering the visuals.
All ENBSeries default shader effects in easy accessible and injectable .fxh files
Entirely new effects, compared to what is available in the default ENBSeries shader files
Currently only effects for enbeffect.fx, enbbloom.fx and effect.txt


ENBSeries Game Color-Correction effect, also known as APPLYGAMECOLORCORRECTION

ENBSeries Post-Process methods, v1, v2, v3, v4

Reinhard Tonemapping

Filmic ALU Tonemapping

Uncharted 2D Tonemapping

Improved Tonemapping

Sepia Tone

ENBSeries Procedural Color-Correction

Control of Shadows and Highlights

SweetFX Vibrance and Saturation controls


SweetFX Split Screen control

Clip Mode, to display over and underexposed colors

Multiple helper functions such as Yxy, HSV, HSL color space conversion, Average/percieved luminance calculations.

And more to come...




First you need to include the files into the enbeffect.fx, you do that with this code line;
NOTE: elepHelpers.fxh and enbAGCC.fxh will be used for this example.

#include "/Modular Shaders/msHelpers.fxh" // This code line needs to be added before the Vertex Shader section inside a .fx or .txt
#include "/Modular Shaders/enbeffect/enbAGCC.fxh"

There, you have now successfully added/included the helper function library and the APPLYGAMECOLORCORRECTION effect library into your file.

Now you need to include it into the rendering stage so it will have an effect on the render output.

For that you need to add this code line for the AGCC code to take affect;

color.rgb = enbAGCC(color, IN.txcoord0.xy); // This code line goes into the Pixel shader (PS_Draw) after all initialization code is done

Like this;

float4 PS_Draw(VS_OUTPUT_POST IN, float4 v0 : SV_Position0) : SV_Target
  float4 res;
  float4 color;
  color  = TextureColor.Sample(Sampler0, IN.txcoord0.xy);                 /// HDR scene color

/// AGCC
    if (ENABLE_AGCC==true) color = enbAGCC(color, IN.txcoord0.xy);  /// Requires enbAGCC.fxh active

  return res;

And to be able to toggle the AGCC code in the GUI;

// Add the below GUI annotation at the top of the file
string UIName = "Enable Game Post-Processing";
> = {true};



Edited by JawZ
  • +1 1
Link to comment
Share on other sites

Yeah just going to port some worthwhile effects and it's bye bye ReShade ;)

But it currently contains a good mix of visual effects though, and development tools as well.


Let me know if any trouble arises for you or if you have any particular effect request.

Link to comment
Share on other sites

While I am flattered then I was not aware that my preset was usable for FO4 :P 


Jest aside... lovely that you took the time to convert this for use with the FO binaries! I am sure it will help someone have some good ol colorful fun come winter! 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.