I thought that sharing some knowledge wouldn't be bad. - Folgore_RM
Welcome, class! Today we'll learn about what Enbseries is, what Enbseries does, who made Enbseries, and how can we use Enbseries. First off, you'll need the following tools, I won't bother to post links for all of them, since I think that you are capable enough to search for them in Google, savvy?
Post if you need help Wrote:If you are lost, or if you didn't understand something, raise your hand.
Tools Needed:
- GIMP (Free) / Photoshop // For later use - We'll need to create a bitmap palette in Part 2
- Resource Hacker / .dll/.exe editing application
Requirements:
- Updated Graphical Drivers
- Shader Model 2 capable GPU
- Lots of patience
- A bottle of beer on your desk
- Sunglasses (Your retina will suffer after a while, trust me)
What is Enbseries? Enbseries is a graphical plugin created by Boris Vorontsov, a well known member on GTA related Forums because of his ENB mod. He developed this mod in order to refresh older games, and make them more graphically pleasant.
My version of EnbSeries that I ran when I still played on Discovery.
My version of EnbSeries that I ran when I still played on Discovery.
In Enbseries there are a lot of SSAO, AA or SAA filters out there that we can use, and that we can create, but I'll speak about this in another tutorial. I'll limit to tutorial to explain everything you need to know about the most fundamental of all files in order to make Enbseries run. Well.. Enbseries.ini of course! Lets see.
In this graphic above I'm showing you how does the .ini interacts with the DirectX library, conditioning the .dll to react in a certain way when the .exe is launched.
In short words:
1) You run the .exe
2) The DirectX library is loaded
3) Enbseries.ini defines how the library acts when the .exe is run
Quote:EnableProxyLibrary can be useful when we need to deal with more than one .dll library.
InitProxyFunctions= 0 / 1
Quote:InitProxyFunctions This can be used for third party features or effects. Freelancer has no use for it. Keep it on 0.
ProxyLibrary= <Filename>
Quote:ProxyLibrary The name of your .dll library
[GLOBAL]
UseEffect= 0 / 1
Quote:UseEffect Enbseries will be launched when the .exe of the application will be launched. If not, you can manually recall and activate the .ini by pressing Shift + F12.
AlternativeDepth= 0 / 1
Quote:Alternative Depth Very useful for CRT monitors, but with little use for LCD/LED monitors. Texture tearing on LCD monitors is caused by the type of the monitor.
AllowAntialias= 0 / 1
Quote:AllowAntialias Activates AA / MS / SAA / SSAO / PSAA
BugFixMode= 1 > 5
Quote:BugFixMode Allows to change HDR value, read below.
HDR Values for Nvidia (Values supported: 0 - 3 - 5) HDR Values for ATI (Values supported: 1 - 2 - 4)
0 -> R32G32F (32bit) High Quality, Medium Performance //For Nvidia 169.xx+/171.xx 1 -> R32F (32bit) Medium Quality, Fast Performance //For ATI Catalyst 8.x+ 2 -> A32R32G32B32F (32bit) Very High Quality, Slow Performance //For ATI Catalyst 9.x+ 3 -> R16F (16bit) Very Low Quality, Fast Performance //For Nvidia 93.xx 4 -> R16G16F (16bit) Low Quality, Fast Performance //For Catalyst 8.x+ 5 -> A16R16G16B16F (16bit) Low Quality, Medium Performance //For Nvidia 93.xx
[EFFECT]
EnableBloom= 0 / 1 Enables Bloom
EnableOcclusion= 0 / 1 Enables Ambient Occlusion (SSAO)
EnableReflection= 0 Not necessary, the value is related to car reflection in GTA IV
EnableMotionBlur= 0 Not necessary, the value is related to car reflection in GTA IV
EnableWater= 0 Not necessary, the value is related to water in GTA IV
EnableShadow= 0 Not necessary, the value is related to shadows in GTA IV
DepthBias= 0 / 1000 Value is related to the depth rendering. You need to increase it by 100 ( 100 - 200 - 300 etc). The effect is an occlusion of the camera viewpoint upon focusing towards the border of a system.
[REFLECTION]
ReflectionPower= 0 / 100 Relection of a surface. If you need to increase it, increase it by 10 units per time (10 - 20 - 30 etc)
ChromePower= 0 Effect is not used in Freelancer.
UseCurrentFrameReflection= 0 Effect is not used in Freelancer.
ReflectionQuality= 0 Effect is not used in Freelancer.
ReflectionSourceSpecular= 0 Effect is not used in Freelancer.
ReflectionSourceTFactor= 0 Effect is not used in Freelancer.
UseAdditiveReflection= 0 Effect is not used in Freelancer.
ReflectionDepthBias= 0 Effect is not used in Freelancer.
UseLowResReflection= 0 Effect is not used in Freelancer.
[BLOOM]
BloomPowerDay= 0 > 100 Bloom Power. Increase it by 10. (10 - 20 - 30 etc)
BloomFadeTime= 0 > 100000 Bloom Adaptation to Monitor Brightness. Value is in milliseconds. The smaller the value, the faster the adaptation but with a higher system resource use, a high value instead will manage system resources in an appropiate way. Value is to be increased by 10000
BloomQuality= 0 / 1 / 2 Bloom Effect Quality
0 = High
1 = Medium
2 = Low
BloomScreenLevelDay= 0 / 100 Level of screen brightness in percents
BloomCurveDay= -2 Bloom Contrast
BloomPowerNight= 50 Power of Bloom on dark textures. Value depends on screen brightness.
BloomConstantNight= 50 Power of Bloom on dark textures
BloomCurveNight= -5 Bloom Contrast
BloomScreenLevelNight= 0 / 100 Level of screen brightness in percents. Works on dark textures.
BloomAdaptationScreenLevel= 0 / 100 Level of screen brightness in percents, over which bloom will fade. This parametere needs to be lower than BloomScreenLevelDay.
BloomAllowOversaturation= 0 / 1 Oversaturation causes the famous 'cornea-bleeding' effect, on which a white surface will get oversaturated an overlighted.
DarkeningLevel= 0 / 100 Darkening Level caused by SSAO
BrighteningLevel= 0 / 100 Brightening Level caused by SSAO
IlluminationLevel= 0 / 100 Illumination Level caused by SSAO
AdditiveIlluminationLevel= 0 Unsupported in Freelancer
UseAmbientOcclusion= 0 / 1 Darkening on Nearest Objects
UseIndirectLightning= 0 / 1 Indirect Lightning on Dark objects
[COLORCORRECTION]
DarkeningAmountDay= -100 / 100 How dark or bright is the screen relative to a bright texture
ScreenLevelDay= 0 / 100 Level of Screen Brightness, when close to a bright texture
ScreenLevelNight= 0 / 100 Level of Screen brightness, when close to a dark texture
DarkeningAmountNight= -100 / 100 How dark or bright is the screen relative to a dark texture
GammaCurveDay= -10 / 10 Color Correction Contrast, if the value is negative the image will be more pale-looking, if the value is positive, the image will be more vivid because of Gamma Contrast.
GammaCurveNight= - 10 / 10 Color Correction Contrast, if the value is negative the image will be more pale-looking, if the value is positive, the image will be more vivid because of Gamma Contrast. Value needs to be of the same value as GammaCurveDay.
[ENGINE]
ForceAnisotropicFiltering= 0 / 1 Forces Anisotropic Filtering on textures
MaxAnisotropy= 2 > 16 Anisotropic Filtering Levels(They go in values of 2 - 4 - 8 and 16)
ForceDisplayRefreshRate= 0 / 1 Forces the monitor's refresh rate
DisplayRefreshRateHz= 50 > 240 Forces a different refresh rate. An incorrect value will corrupt your monitor's refresh rate.
How can you change the version of an EnbSeries pack that you have developed? Easy. Download Resource Hacker (here) and then open your DirectX library. On the lower 01 section, change the version info and save the changes. On the next tutorial I'll explain how you can create a convertor.ini to use DirectX9 libraries instead of DirectX8 libraries.
Posts: 3,702
Threads: 144
Joined: Aug 2009
Staff roles: Server Manager Coding Dev Moderator
' Wrote:How can you change the version of an EnbSeries pack that you have developed? Easy. Download Resource Hacker (here) and then open your DirectX library. On the lower 01 section, change the version info and save the changes. On the next tutorial I'll explain how you can create a convertor.ini to use DirectX9 libraries instead of DirectX8 libraries.
' Wrote:Are you sure the anticheat is okay with that?
You're opening the DirectX library. Not the Resources.dll. Anticheat has no issues at all with D3D libraries, since I made a lot of experiments with it while I was actively playing.
Posts: 3,702
Threads: 144
Joined: Aug 2009
Staff roles: Server Manager Coding Dev Moderator
' Wrote:You're opening the DirectX library. Not the Resources.dll. Anticheat has no issues at all with D3D libraries, since I made a lot of experiments with it while I was actively playing.
Okay, where can I find my copy of the DirectX library?
Edit: Btw, have you figured out how to stop the ENBSeries from flashing a lot when you start FL?
' Wrote:Okay, where can I find my copy of the DirectX library?
Edit: Btw, have you figured out how to stop the ENBSeries from flashing a lot when you start FL?
Yes, the issue is when you set a different HDR value for your Hardware. Setting an Nvidia value for an ATI GPU, or viceversa, causes that white splash.
Welcome back class, today we'll learn about how we can create ourselves a palette for color correction, if you don't know what color correction is, then please go back to part one and try to understand the basics of how everything interacts.
Now. Lets get started shall we?
To create a palette it is recommended to create it in a 3D modelling software, but since not everyone has the means to do so, I'll teach you how to create a palette with photographic editing software, like GIMP or Photoshop. I'll focus on GIMP, since it's FREE (get it here *). After that lets open it.
Starting a new project
1) Open GIMP, go to New Project, and make a 256x256 project. Link
2) Add an Alpha Channel to your 256x256 project. Link
3) Now go to your gradient tool, select Radial Mode ([u]set the colors on black and white before using it), use the gradient tool, and drag a diagonal line from the upper left border to the lower right border.Link
4) The result should be like this.
5) Save it as a .bmp (bitmap) image, coded at 24bit depth.
Done this, copy and past your file inside Freelancer/Exe, and now Color Correction will use the palette. Remember that some parameters will become inactive when the palette will be used.