Make any DX9 game better - add Bloom, SSAO, shadowing, motion blur, DOF, manually!

Spare-Flair

Supreme [H]ardness
Joined
Apr 4, 2003
Messages
7,471
-edit new website: http://enbdev.com/index_en.html

I just got Burnout Paradise and found the built in SSAO feature for PC ground my system to a halt but I thought the vanilla game looked "too clean". You know, that look of 3D games were it's just the pure polys and textures and it feels like it could use more shadowing, some depth of field, some motion blur, some bloom, manual adjustment of pixel lighting, brightness, darkness, add occulion, improve reflections, specular, etc. Basically sort of the look of Half-Life 2 where it's too plain and sharp and textures are obvious, etc.

I discovered this amazing thing called ENBseries by Boris Vorontsov where you just put a d3d9.dll into the folder where any game executable is and his custom ini file and you can add all these features yourself and customize to an amazing degree!

Here's his page showing some screenshots on Burnout Paradise
http://enbdev.com/gallery_en.htm

What really amazed me is that I was wondering if I could use this in other games. I just got H.A.W.X. and I thought it looked a bit plain to me, it could definitely use some motion blur and some more bloom (not too much though! I needed to edit the ini myself to modify some values) to make it really feel like I'm zooming around in a jet at 10,000 feet.

So just copied over the d3d9.dll, the ini files, the effect.txt and voila! It worked! The difference is immediately noticable as it also affects the menus, etc. which ended up with a glowing effect.

What's great is that by using this, you can even use hotkeys to turn features like bloom on and off or even the built in FPS counter. (shift-*). He has many ENB series setup for many games already but you can just add them to any game yourself by putting one of the filesets into the directory where you game executable is.

Here's my H.A.W.X. before and after with some tweaking of the effects in the ini file.
hawxenb.jpg


Here are the amazing amount of things you can modify yourself:

[GLOBAL]
UseEffect=1
AlternativeDepth=1
AllowAntialias=1
BugFixMode=0
SkipShaderOptimization=0
QuadVertexBuffer=0
EnableShaders_3_0=1
AdditionalConfigFile=enbseries2.ini
UseMRTRendering=0
[EFFECT]
EnableBloom=1
EnableOcclusion=1
EnableReflection=0
EnableMotionBlur=0
EnableWater=0
EnableShadow=0
DepthBias=0
EnableDepthOfField=0
[INPUT]
KeyUseEffect=123
KeyBloom=120
KeyOcclusion=121
KeyReflection=122
KeyCombination=16
KeyShadow=119
KeyWater=118
KeyScreenshot=44
KeyShowFPS=106
[REFLECTION]
ReflectionPower=15
ChromePower=10
UseCurrentFrameReflection=0
ReflectionQuality=0
ReflectionSourceSpecular=50
ReflectionSourceTFactor=50
UseAdditiveReflection=0
ReflectionDepthBias=0
UseLowResReflection=0
ReflectionSinglePass=1
UseEnvBump=1
EnvBumpAmount=100
EnvBumpOffset=100
ReflectionFlip=0
[BLOOM]
BloomPowerDay=7
BloomFadeTime=350
BloomConstantDay=0
BloomQuality=0
BloomScreenLevelDay=20
BloomCurveDay=3
BloomPowerNight=20
BloomConstantNight=0
BloomCurveNight=5
BloomScreenLevelNight=7
BloomAdaptationScreenLevel=30
BloomAdaptationMultiplier=5
BloomAllowOversaturation=1
BloomMaxLimit=25
[SSAO]
UseFilter=0
OcclusionQuality=0
FilterQuality=1
DarkeningLevel=15
BrighteningLevel=30
IlluminationLevel=30
AdditiveIlluminationLevel=30
UseAmbientOcclusion=1
UseIndirectLightning=1
UseIndirectLighting=1
FadeDistance=50
UseForAlphaTest=1
UseForAlphaBlend=1
UseNoiseRandomization=1
[COLORCORRECTION]
DarkeningAmountDay=10
ScreenLevelDay=45
ScreenLevelNight=15
DarkeningAmountNight=0
GammaCurveDay=-4
GammaCurveNight=3
ColorSaturationDay=0
ColorSaturationNight=0
UsePaletteTexture=0
[WATER]
UseWaterDeep=1
WaterDeepness=20
WaterQuality=0
[SHADOW]
ShadowFadeStart=40
ShadowFadeEnd=80
ShadowAmountDay=60
ShadowAmountNight=30
ShadowScreenLevelDay=60
ShadowScreenLevelNight=20
ShadowQuality=0
UseShadowFilter=0
FilterQuality=1
ShadowBlurRange=30
[ENGINE]
ForceAnisotropicFiltering=0
MaxAnisotropy=8
ForceDisplayRefreshRate=0
DisplayRefreshRateHz=60
ForceDisplaySize=0
DisplayWidth=1024
DisplayHeight=768
[MOTIONBLUR]
MotionBlurQuality=1
MotionBlurVelocity=10
MotionBlurRotation=10
[PERPIXELLIGHTING]
SpecularColorMin=0
SpecularColorMax=100
SpecularColorMultiplier=100
SpecularGlossinessMin=0
SpecularGlossinessMax=100
SpecularGlossinessMultiplier=100
[DEPTHOFFIELD]
DOFQuality=0
DOFNumberOfPasses=1
DOFFocusRange=50
DOFBlurinessRange=5
DOFFadeTime=1000
DOFFiltered=1

I'm frankly shocked that this has worked with any D3D9 game I've tried so far. It has made many older games more cinematic and newer ones look better than stock (often the look is optimized for consoles as we are getting so many ports these days). The performance hit is the best part - there is hardly any for using ENBseries!
 
Last edited:
Thanks for posting this. My rig's down while I wait for my q6700 to show up, but I'll give it a shot when it comes in.
 
OMG...... I think you have just found me my reason to go through the buggyness of the everly uberly awesome Vampire The Masquerade: Bloodlines again.
 
I think I used this for GTA San Andreas once, didn't realize it would work with all games.


Tested to work by me

GTA Vice City DX8 one works with Warcraft III.

Burnout Paradise files work with Mass Effect aswell.

Burnout Paradise files work with Grid.

Burnout Paradise files work with Fallout 3, bloom was probably too high.

Burnout Paradise files work with Steam-version of Bioshock.

Burnout Paradise files work with The Last Remnant needed it if you ask me, great game tho.

Doesn't work
Dead Space
Prince of Persia
Warhammer AOR
Dawn of War II
 
I think I used this for GTA San Andreas once, didn't realize it would work with all games.
Where do I get the .ini's? Couldn't find on the site.

Tested to work

GTA Vice City DX8 one works with Warcraft III.

Burnout Paradise files work with Mass Effect aswell.

Burnout Paradise files work with Grid.

Burnout Paradise files work with Fallout 3, bloom was probably too high.

Burnout Paradise files work with Steam-version of Bioshock.

Burnout Paradise files work with The Last Remnant needed it if you ask me, great game tho.

Doesn't work
Dead Space
Prince of Persia
Warhammer AOR
Dawn of War II

just edit the ebseries.ini file that comes with any of the custom ones he has made under the downloads tab on his website.
 
Nice find. I'm going to throw this on a few of my older games that have been revamped with D3D9 renderers. First stop: Morrowind+MGE.
 
I don't agree that your "after" HAWX shot looks better, like some of the Crysis custom configs it just looks too contrasty, especially on the ground. The lifted dark tones of the original game aren't a mistake, they're the result of gamma-correct lighting.
Burnout could definitely do with faster ssao, although it sounded like the ENB guy had given up on it, then again I've read about some people successfully using it.
 
The effects are overdone, the fake SSAO causes lots of visual glitches because it can't really access the games' z-buffer, the bloom makes everything look radioactive...

There's also the fact that this uses the same method as SoftTH to extend the game (modified dll file), which means you can't use both at the same time. Given the choice, I would pick SoftTH over this every time (triple-monitor is worth far more than hyper-bloom and screwy shading).
 
I guess, its lucky for me I don't have 3 monitors. But those pics of RE4 looks pretty awesome. I hope Bloodlines look just as good.
 
Geez people, just adjust the settings yourself.

I hate the hyperbloom too. I cut it down by 75% of what Boris sets in addition to most of the effects. I'm just doing you guys a favor by letting know there's a tool out there that can add user customizable visual effects, enhancments, and tweaks to any game.

If you are too lazy to play around yourself, no need to complain about what others might enjoy.
 
OMG...... I think you have just found me my reason to go through the buggyness of the everly uberly awesome Vampire The Masquerade: Bloodlines again.

LOL isn't that the truth. We're on unofficial patch #3253254
 
Those Burnout: Paradise pics look incredible. They look like a movie.

I've used this before with San Andreas, but the performance hit was pretty huge and there were a lot of artifacts. Pretty amazing how they gave the flat, single-shade water in SA reflection, though.
 
I just put this in GTA3, had to take off Occlusion since it had a MAJOR hit on the FPS, even on a 9800GTX :eek: Motion blur didn't have FPS hit but I just didn't like it.

[EFFECT]
EnableBloom=1
EnableOcclusion=0
EnableReflection=1
EnableMotionBlur=0
EnableWater=1
EnableShadow=1
DepthBias=1
EnableDepthOfField=1

Also, this UseEffect=1 toggles the ENBseries on so you don't have to shift+F12 every time.
 
Funny this pops up on the forums just after I stumbled over it for Deus Ex after looking at the status of the hd textures mod. The improvements to the lighting really makes a great difference.

OMG...... I think you have just found me my reason to go through the buggyness of the everly uberly awesome Vampire The Masquerade: Bloodlines again.

LOL isn't that the truth. We're on unofficial patch #3253254

Was the clipping clothing in melee combat ever addressed? It really bothered me on my only run through the game. I'd give it another go if that was fixed.
 
When I get it reinstalled I'll get back to you on that. I havne't touched the game for like 2 years probably.

EDIT: Okay, I don't have a clue if what you were asking is fixed. But probably not. That aside, I have no idea how to work this thing :p so its gonna be a while til I get a good setting, if ever.
 
Man, could you upload your enbseries.ini, effect.txt and d3d9.dll? Cause i have hawx and i downloaded enb few months, without seeing this topic, anyway, it worked almost perfect, and it wasn't perfect because i couldn't activate Motion Blur!? i tried everything, google it a lot of times, and i found this topic, i registred on the forum just to ask you this xD, can you upload these files or help me to make motion blur work??? Please help me T-T
 
I don't have this game installed anymore and haven't played it for a long time. Not every effect will work with every game as the shader files that Boris creates are tailored to specific games they are made for but often, they will work to some degree with other games.

His website URL has changed:
http://enbdev.com/index_en.html

I am pretty sure but am not certain that I used ENBseries v0.075a for Burnout Paradise on HAWX as I discovered ENBseries when I was playing BOP and I just copied it over to HAWX without changing anything. These are the settings that I have in my Burnout Paradise folder. Unfortunately I don't have HAWX anymore to try it. I should rebuy it on my steam account one day as it was a good arcade flight sim even though some people thought it was underwhelming. The PC platform really needs more flight/space sims.

d3d9.dll should ever really change, should be the same version as on his website.

If these settings don't work for you, I don't know how to program shaders or work with Boris's configuration files really aside from messing about with ENBseries in GTAIV but I could never get it to work with the new version since Boris dropped support. I would suggest that you contact Boris Vorontsov directly for help in making an ENBseries for HAWX. He might not object since it already works pretty much as it is. Boris should be working for a big name game developer already. His work is better than most of the junk many games put out there in stock configuration. Like he said when he complained about Rockstar changing all the shaders in the new GTA IV patch, they should have hired/consulted him LOL.

enbseries.ini
[PROXY]
EnableProxyLibrary=0
InitProxyFunctions=1
ProxyLibrary=
[GLOBAL]
UseEffect=1
AlternativeDepth=1
AllowAntialias=1
BugFixMode=0
SkipShaderOptimization=0
QuadVertexBuffer=0
EnableShaders_3_0=1
AdditionalConfigFile=enbseries2.ini
UseMRTRendering=0
[EFFECT]
EnableBloom=0
EnableOcclusion=0
EnableReflection=0
EnableMotionBlur=0
EnableWater=0
EnableShadow=0
DepthBias=0
EnableDepthOfField=0
[INPUT]
KeyUseEffect=123
KeyBloom=120
KeyOcclusion=121
KeyReflection=122
KeyCombination=16
KeyShadow=119
KeyWater=118
KeyScreenshot=44
KeyShowFPS=106
[REFLECTION]
ReflectionPower=15
ChromePower=10
UseCurrentFrameReflection=0
ReflectionQuality=0
ReflectionSourceSpecular=50
ReflectionSourceTFactor=50
UseAdditiveReflection=0
ReflectionDepthBias=0
UseLowResReflection=0
ReflectionSinglePass=1
UseEnvBump=1
EnvBumpAmount=100
EnvBumpOffset=100
ReflectionFlip=0
[BLOOM]
BloomPowerDay=14
BloomFadeTime=700
BloomConstantDay=0
BloomQuality=0
BloomScreenLevelDay=40
BloomCurveDay=6
BloomPowerNight=40
BloomConstantNight=0
BloomCurveNight=5
BloomScreenLevelNight=15
BloomAdaptationScreenLevel=60
BloomAdaptationMultiplier=10
BloomAllowOversaturation=1
BloomMaxLimit=50
[SSAO]
UseFilter=0
OcclusionQuality=0
FilterQuality=1
DarkeningLevel=30
BrighteningLevel=30
IlluminationLevel=30
AdditiveIlluminationLevel=30
UseAmbientOcclusion=1
UseIndirectLightning=1
UseIndirectLighting=1
FadeDistance=50
UseForAlphaTest=1
UseForAlphaBlend=1
UseNoiseRandomization=1
[COLORCORRECTION]
DarkeningAmountDay=20
ScreenLevelDay=45
ScreenLevelNight=15
DarkeningAmountNight=0
GammaCurveDay=-4
GammaCurveNight=3
ColorSaturationDay=0
ColorSaturationNight=0
UsePaletteTexture=0
[WATER]
UseWaterDeep=1
WaterDeepness=20
WaterQuality=0
[SHADOW]
ShadowFadeStart=40
ShadowFadeEnd=80
ShadowAmountDay=60
ShadowAmountNight=30
ShadowScreenLevelDay=60
ShadowScreenLevelNight=20
ShadowQuality=0
UseShadowFilter=0
FilterQuality=1
ShadowBlurRange=30
[ENGINE]
ForceAnisotropicFiltering=0
MaxAnisotropy=8
ForceDisplayRefreshRate=0
DisplayRefreshRateHz=60
ForceDisplaySize=0
DisplayWidth=1024
DisplayHeight=768
[MOTIONBLUR]
MotionBlurQuality=1
MotionBlurVelocity=10
MotionBlurRotation=10
[PERPIXELLIGHTING]
SpecularColorMin=0
SpecularColorMax=100
SpecularColorMultiplier=100
SpecularGlossinessMin=0
SpecularGlossinessMax=100
SpecularGlossinessMultiplier=100
[DEPTHOFFIELD]
DOFQuality=0
DOFNumberOfPasses=1
DOFFocusRange=50
DOFBlurinessRange=5
DOFFadeTime=1000
DOFFiltered=1

effect.txt:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//ENBSeries: [email protected], boris-vorontsov.narod.ru
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*
THIS IS HLSL (HIGH LEVEL SHADER LANGUAGE) FILE FOR EXECUTING ADDITIONAL
HARDWARE EFFECTS. MAKE THE COPY BEFORE CHANGING IT!
*/

//keyboard controled variables
float tempF1;
float tempF2;
float tempF3;
float tempF4;
float tempF5;
float tempF6;
float tempF7;
float tempF8;
float tempF9;
float tempF0;


//global variables, already set before executing this code
float ScreenSize; //width of the display resolution (1024 f.e.)
float ScreenScaleY; //screen proportions (1.333 for 1024/768)
float ScreenBrightnessAdaptation;//(-10..10) for bloom it controls how much to dark in the night or when scene is dark (user defined constant factor)
float bloomPower;//(0..10) actually used for bloom, but may be useful here (user defined constant factor)
float useBloom;//(0 or 1) if bloom enabled by user



//textures
texture2D texColor;

sampler2D SamplerColor = sampler_state
{
Texture = <texColor>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;//NONE;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
};

struct VS_OUTPUT_POST {
float4 vpos : POSITION;
float2 txcoord : TEXCOORD0;
};

struct VS_INPUT_POST {
float3 pos : POSITION;
float2 txcoord : TEXCOORD0;
};




//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
VS_OUTPUT_POST VS_PostProcess(VS_INPUT_POST IN)
{
VS_OUTPUT_POST OUT;

float4 pos=float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);

OUT.vpos=pos;
OUT.txcoord.xy=IN.txcoord.xy;

return OUT;
}




float4 PS_PostProcess(VS_OUTPUT_POST In) : COLOR
{
/*
float tempF1=1.0;
float tempF2=1.0;
float tempF3=1.0;
float tempF4=1.0;
float tempF5=1.3;
float tempF6=4.35;
float tempF7=1.12;
float tempF8=1.2;
float tempF9=3.17;
float tempF0=1.4;
*/
//START TO MAKE YOUR CHANGES FROM HERE
float4 res;
float4 uvsrc=0;
uvsrc.xy=In.txcoord;

res=0.0;
float4 coord=0.0;
coord.xy=In.txcoord.xy;
float4 origcolor=tex2D(SamplerColor, coord.xy);
float origgray=max(origcolor.r, max(origcolor.g, origcolor.b));


float2 dir=0.0;

float4 color;




dir.xy=1.7*pow(origgray,0.3)/ScreenSize;//tempF9*
//dir.xy=2.0*pow(origgray,0.5) * float2(tempF9, tempF9)/ScreenSize;

coord.xy=In.txcoord+dir.xy*1.0;
color.r=tex2D(SamplerColor, coord.xy).r;

coord.xy=In.txcoord+dir.xy*0.5;
color.g=tex2D(SamplerColor, coord.xy).g;

coord.xy=In.txcoord+dir.xy*0.3;
color.b=tex2D(SamplerColor, coord.xy).b;

res.xyz=color.xyz;


/*
dir.xy=tempF9*1.0*pow(origgray,0.5)/ScreenSize;
//dir.xy=2.0*pow(origgray,0.5) * float2(tempF9, tempF9)/ScreenSize;

coord.xy=In.txcoord-dir.xy*1.0;
color.r=tex2D(SamplerColor, coord.xy).r;

coord.xy=In.txcoord;//+dir.xy*0.6;
color.g=tex2D(SamplerColor, coord.xy).g;

coord.xy=In.txcoord+dir.xy*1.0;
color.b=tex2D(SamplerColor, coord.xy).b;

res.xyz=max(color.xyz, origcolor.xyz);

*/

res.a=1.0;
return res;
}







//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
technique PostProcess
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 PS_PostProcess();

FogEnable=FALSE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}
 
Last edited:
Man thanks for answering me so fast O_O, xD, man i almost cry while loading the game :p, but unfortunately it didn't work ç_ç , why, why motion blur??? why the one of the most realistic effects enb could give me did not work??? why T-T?
 
You forgot the part where you label it a DirectX 9 vs DirectX 10 (or 11 these days?) comparison and make it look like you'll get exclusive features if you buy the new OS. Here, I fixed it for you :p :

hawxenb.jpg


:eek:

Amazing.
 
OMG...... I think you have just found me my reason to go through the buggyness of the everly uberly awesome Vampire The Masquerade: Bloodlines again.

Dude, get the unofficial patch and mods! It fixes almost everything
 
Man thanks for answering me so fast O_O, xD, man i almost cry while loading the game :p, but unfortunately it didn't work ç_ç , why, why motion blur??? why the one of the most realistic effects enb could give me did not work??? why T-T?

I'm sorry, I can't tell you which one I used for certain, it was more than a year ago, I tried a lot of files and settings on various games and they may have gotten mixed up. Maybe the Richard Burns Rally one as that one has motion blur for sure? There are also a few betas that he had on his old site and aren't published anymore.
 
Am I the only one who prefers the "before" shot? :p

It looks way better in game. Actually it has a wierd halo analog looking effect to it where the RGB colors are slightly shifted. Gives me a strange 80s Top Gun on CRT TV vibe or slightly more military technology feel (rather than just generic PC game feel) when playing.
 
It looks way better in game. Actually it has a wierd halo analog looking effect to it where the RGB colors are slightly shifted. Gives me a strange 80s Top Gun on CRT TV vibe or slightly more military technology feel (rather than just generic PC game feel) when playing.

Yeah I've never been a fan of overcooked HDR, motion blur and SSAO. As soon as I got NFS Shift I turned off the motion blur and bloom and thought it looked way better with them off.
 
I usually dig through settings and config files to turn those kinds of effects off.
 
Hey, i think i found the problem!!! i read your post about the Richard Burns Rally and downloaded the enb for it, and there's something i forgot to tell you about my enb. A week ago, i was testing enb's and i discovered that the only d3d9.dll that worked with HAWX was the burnout one, the others make the game look like a White with black points screen when enb is enabled and a black with color points screen with enb disabled, but only the 3D thins, the 2D like menus are ok. So i tried the Richard Burns Rally enb, same thing, white with black points, but i loaded the game, and tadam!!!!! MOTION BLUR! the screen was all white and all, but i could see cleary a motion blur when i hit the acceleration key. So i think it could be the d3d9.dll, because i deleted the RBR dll and used the same settings with the burnout dll, game was all right, but no motion blur. Help me :p
 
You guys need to play it to see the difference. I hate those effects in games too. I hate HDR and motion blur in games like Dirt and the bloomfest of many games. ENBSeries is different though.

The difference between the vanilla game and ENB GTA IV is insane and his effects make things more clear and realistic looking instead of muddy and overly contrasted like many developers do. Boris knows what he's doing.

Doing what I'm doing and applying it to other games that aren't specifically tested by him is up to the discretion of the player. You can activate what features you want and many won't work anyway.
 
Last edited:
Nice. I remember this being used for Morrowind. Haven't thought about Vampire tMB. Let us know how it works out.
 
interesting. I have been using the dx10 setup for ut99. I might try this as well and see if can get the Dues Ex one to work. I like a small amount of motion blur like the default amount in TF2. I thought HL2 had these option available already. Or was that just after lost coast?:confused:
 
Looks pretty good. Wonder if it'll work with the old Call of Duty games I'm currently working my way through. Although if it does work for Bloodlines I'll def have to give that game another go. Need to give my Malkavian another crack :p
 
Post here if you get it to work with CoD1 or 2, I'm trying to do the same thing here.:p
 
I haven't tried yet, if only for lack of time and the possible problem that I have it through Steam. I'll try to hack it tonight and see what happens.
 
Back
Top