中级玩家
 
- 贡献度
- 13
- 金元
- 1784
- 积分
- 230
- 精华
- 0
- 注册时间
- 2013-6-13
|
SkyRealism - ENB Evolved User Manual
by IndigoNeko
Table of Contents
Formatting Conventions:..............................................................................1
Introduction to ENBSeries............................................................................2
Installing ENBSeries....................................................................................3
Introduction to SkyRealism – ENB Evolved.........................................................4
Installing SkyRealism – ENB Evolved.................................................................5
Uninstalling ENBSeries and ENB Evolved...........................................................6
Frequently Asked Questions..........................................................................7
How ENB Works.........................................................................................8
ENBSeries Features and Effects......................................................................9
Camera Effects........................................................................................11
The Depth of Field and Focus System.............................................................13
The enbseries.ini File................................................................................15
The .fx Files...........................................................................................23
The Enbeffect.fx File................................................................................24
Credits and Thanks...................................................................................27
Formatting Conventions:
Bold text is usually the main topic that a section or paragraph refers to.
Bold Italics denote something that you should be aware of, such as terminology.
WARNING: These messages contain absolutely critical information.
Courier New is used to denote text that is located in other files, such as a .ini file.
Introduction to ENBSeries
ENBSeries is a collection of graphical enhancement modifications created by Boris
Vorontsov. Currently supported are TES Skyrim, GTA 4, GTA San Andreas, Deus Ex HR,
FSX, and a few others. You can find it at http://www.enbdev.com.
These graphical enhancements include effects like fixing shadow artifacts, fixing
rendering artifacts, modifying lighting, modifying sky tones, or allowing the use of
advanced features like Ambient Occlusion, Crepuscular Rays, and Bloom.
ENBSeries has a lot of different features to it. Here's a short list of each of the things
that ENBSeries does for you.
• Shadow Striping Fix
• Shadow Correction
• Color Correction
• Palette-Based Color Correction
• Environment Lighting Control
• Bloom
• Adaptation
• Ambient Occlusion
• Camera Effects
• Sun Rays
• Sky Lighting
If you want to find out more about each of these, see the section on ENBSeries Features
and Effects. Additionally, SkyRealism - ENB Evolved adds several new features to
ENBSeries, and more are currently planned!
Installing ENBSeries
The ENB graphics modifications are listed at http://enbdev.com/download.htm. There's also several tools, converters, and patches for specific game problems. The ENB for TES Skyrim is listed near the bottom of the page. Here's a warning from that page you should read:
WARNING: DO NOT PUT "D3D9.DLL" INTO THE SYSTEM FOLDER OF WINDOWS.
As of the writing of this, the latest version of ENB for TES Skyrim is 0.119, which can be found at http://enbdev.com/mod_tesskyrim_v0119.htm. The actual file is located at http://enbdev.com/enbseries_skyrim_v0119.zip.
The ENBSeries v0.119 comes with both an Injector version and a Wrapper version. Some people have problems one or the other...if one doesn't work or causes crashes, try the other. DON'T USE BOTH. There can be enormous differences in performance between the two depending on your hardware configuration, especially on computers with integrated graphics cards (such as laptops).
The Wrapper version contains a file called "d3d9.dll". Simply copy this into your main Skyrim directory, usually located on your computer at "C:\Program Files\(x86)\Steam\SteamApps\common\skyrim". That's all you need to do for installing the wrapper version.
The Injector version contains three files: "ENBInjector.exe", "enbinjector.ini", and "enbseries.dll". Copy all three of these into your main Skyrim directory. Before running Skyrim, run the ENBInjector.exe file, and leave it open while playing Skyrim. That's all you need to do for installing the injector version.
Once you've installed either the wrapper or the injector version, you need to reconfigure Skyrim to work correctly.
WARNING: You must open SkyrimPrefs.ini and change bFloatPointRenderTarget=0 to bFloatPointRenderTarget=1 under [Display] in order for ENBSeries to work. The SkyrimPrefs.ini file is located in "C:\Users\YourUserName\Documents\My Games\Skyrim".
In addition, you should also change the following settings to get SkyLighting to work correctly:
bTreesReceiveShadows=1bDrawLandShadows=1bShadowsOnGrass=1
Start SkyrimLauncher.exe to configure your video options again. That's it!
Introduction to SkyRealism – ENB Evolved
SkyRealism – ENB Evolved is a set of shader files used by ENB. Unlike most other ENBs that you'll find, ENB Evolved is more than just a collection of adjusted settings that come with ENB; it's a complete rewrite of the existing shader code that comes with ENB, allowing for a much greater degree of control over the colors in Skyrim.
Here's what I've done in a nut shell:
•Rewritten the Depth of Field system, including creating 2 new ones.
•Completely rewritten the color processing algorithms, using HSV conversion.
•Reconfigured the baseline INI values are a 100% match to Skyrim defaults.
•Added a focus detection system, so you can change how the Depth of Field works.
•Added several new camera effects: sepia tone, vignette, interlacing, and more.
There are several ENB configurations that are included with this mod. Screenshots have been included in the "Screenshots" section that compare how each of these look. Additionally, instructions can be found below on how to customize ENBSeries to fit your personal tastes.The Default ENB is a modder's resource. I created it as a starting point for people who wish to create their own custom ENB. It is an almost perfect match with vanilla Skyrim colors, even with nearly all the effects enabled. See "Configuring a Custom ENB" for instructions on how to use this file to create your own custom ENB settings.The SkyRealism Cinematic ENB contains my custom settings that are designed to enhance vanilla Skyrim, as well as working perfectly with Realistic Lighting with Customization by The Realistic Lighting Team or Project Reality - Climates Of Tamriel - Weather - Lighting by JJC71. Shadows are slightly darker, specular highlights are brighter, and colors are slightly richer. I created it to give you a slightly more immersive and realistic feel when playing Skyrim, without changing the look and feel of Skyrim.
The other ENB configurations have been included for your convenience, and to give you an idea what effects are possible with ENBSeries. I do not use them myself, but many people have found them to their liking.
Installing SkyRealism – ENB Evolved
SkyRealism – ENB Evolved can be found at http://skyrim.nexusmods.com/mods/23765.
After you've downloaded ENB Evolved, you'll need to open it with a 7z decompression utility, such as 7zip. Inside will be a series of folders which each have been configured in different ways. Select one of the folders, and open it up to view the contents. Select the contents in that folder and extract them to your Skyrim directory (C:\Program Files (x86)\Steam\SteamApps\common\skyrim). That's it!
Uninstalling ENBSeries and ENB Evolved
If you want to uninstall this mod and the rest of ENBSeries, simply delete all the files in your Skyrim directory that begin with the letters "enb" and "d3d9.dll". Changing the ENB Configuration
If you wish to create your own ENB configuration, I highly recommend you use the contents of the "Vanilla Skyrim" folder of ENB Evolved as a starting point. Copy the files in it into your Skyrim directory.
There's 4 files you'll need to be aware of if you want to change how Skyrim looks. The first, and most important, is the enbseries.ini file. The others are enbbloom.fx, enbeffect.fx, and enbeffectprepass.fx.
Frequently Asked Questions
My screen looks wierd! Why?!
If your screen looks totally strange or has unexpected glitches, the usual culprit is your graphics driver's shader optimization. To fix this, open the enbseries.ini file and set SkipShaderOptimization=true, under the [ENGINE] section.
The Ambient Occlusion and Depth of Field isn't working! Why?!
Many special effects require you to set bFloatPointRenderTarget=1 in the SkyrimPrefs.ini file of your "My Documents\My Games\Skyrim" folder. See the installation section for details.
Everything is blurry! How do I turn it off?!
The depth of field effect can be disabled in enbseries.ini under the [EFFECT] section. However, if you want to simply change either how much blur there is, or how it focuses, you can do that in the enbeffectprepass.fx file.
Why can't I download this with Nexus Mod Manager?
Because the installation requires you to place files inside your Skyrim Application Folder, rather than the data folder. The NMM does not allow mods to install to that directory, and so it must be done manually.
How ENB Works
WARNING: This section is highly technical, and can be skipped.
ENBSeries works by modifying the DirectX rendering calls that the games use, allowing modification of the rendering system. There are two different versions of each ENB: a "wrapper" and an "injector".
When a DirectX game starts, it will search for a DLL file which contains the code it uses to display stuff on your screen. For DirectX 9 games, this file is "d3d9.dll". Eac工口GAME will search for these files in 1) The game's application directory or 2) The Windows directory. If it finds the DLL file in the game's directory, it will use that first.
The "Wrapper" version of ENB is a replacement DLL file which contains the custom ENB code. You simply place it in the same directory as the game's application file, and it should work correctly.
However, sometimes it doesn't work correctly, which is why there is an "Injector" version. The injector is a actual application. It works by modifying the DirectX rendering system dynamically for a video game. In order to use the injector, you must run the injector application and leave it running, then start your video game.
When the ENB code is running, it will search the same directory as the video game for a configuration file: "enbseries.ini". This is a pure text file, which can be modified with any text editing software (Microsoft Word, Notepad, TextEdit, etc.). It contains the settings that the ENB code will use when it displays the graphics from the game.
In addition to this configuration file, ENB will allow the use of custom graphics code to be directly applied to the game. This custom graphics code is called a "shader". There are several types of shader programming languages, including HLSL, Cg, and GLSL. ENB Series currently only supports HLSL, which is the DirectX shader programming language.
There are several different custom shader files that ENB will try to load: "enbeffect.fx", "enbeffectprepass.fx", and "enbbloom.fx". Each of these does slightly different things.
The "enbeffect.fx" file contains the code that is applied to the game for color correction purposes. It will attempt to access and load one additional file that has not yet been mentioned: "enbpalette.bmp", a 256x256 image that allows you to specify the exact color tones that are mapped from the original game to the screen.
The "enbeffectprepass.fx" file contains code that requires original game information, such as the distance from the camera to an object in the game world. Typically, this file will contain code for Depth of Field effects.
The "enbbloom.fx" file contains code designed to blur the original image. This blurred image is then used in the enbeffect.fx file to create visual effects like Bloom, which is where bright objects illuminate nearby portions of the screen.
ENBSeries Features and Effects
Here's a more detailed list of each of the features and effects that are supported by ENBSeries, information about the effects, and where you can change or modify those effects in the enbseries files.
Shadow Striping Fix: ENBSeries changes the way shadows are cast, making shadows more visually correct. It changes the shadow filtering system, eliminating ugly lines in shadows, and smoothing the edges as well. This is automatically applied with ENBSeries, but can be controlled in the enbseries.ini file.
Color Correction: There are many methods of performing color correction, and they are all controlled in the enbeffect.fx file. Some of the color correction methods (such as HD6) involve presets that can be selected, each with their own variables to tweak. The SkyRealism Color Correction system is substantially more complex, and uses an RGB to HSV color conversion system. It allows you to tweak the intensity of individual color ranges directly through the Color Equalizer system, or change the overall intensity as well.
Palette Color Correction: In addition to the Color Correction system, ENBSeries allows you to adjust color tones through a bitmap file, "enbpalette.bmp". There are many palettes out there that can be selected, allowing you to quickly change the color tones in skyrim by simply picking a bitmap file and dropping it into your application directory.
Environment Lighting Control: ENBSeries also allows direct control over the lighting system in skyrim, such as the intensity of sunlight, intensity of torches and fires, and the ambient light. It also allows for direct control over the colors and brightness of the sky, sun, and stars. It even allows for control over the brightness of windows, fires, candle lights, clouds, fog, and more. These are all controlled in the enbseries.ini file.
Bloom: The bloom effect is essentially a haziness over everything. It causes objects on the screen that are bright to illuminate areas of the screen near them. Vanilla skyrim has this feature, but it only affects areas immediately around an object. The intensity of the ENB series bloom is adjusted in the enbseries.ini file, but the amount of blurring and the color saturation of the bloom can be adjusted in the enbbloom.fx file.
Adaptation: The adaptation effect causes the brightness to automatically adjust according to the overall light on the screen. The duration of this can be controlled to mimic the way that your eyes adjust to very dark areas over time. Vanilla skyrim already has this feature, but it works very quickly and many people don't like it very much, which is why this alternative was developed. The duration for this can be set in the enbseries.ini file.
Ambient Occlusion: This effect mimics the way that light is absorbed by objects that are near to each other. It causes cracks in corners to become slightly darker. One of the drawbacks to this effect is that it causes weapons in first person view to appear translucent when they "clip" through walls and other objects. It also changes the appearance of water in Skyrim, making it translucent regardless of depth. Indirect Lighting is a variant of Ambient Occlusion that causes light to be reflected from objects onto other nearby objects, similar to the way that bloom works. Using them together will cause them to cancel out. The settings for this can be set in the enbseries.ini file.
Camera Effects: ENB Evolved supports many different types of camera effects, such as Depth of Field, Filter Flare (lens reflection), Chromatic Aberration, Film Grain, Vignette, Sepia Tone, Interpolation, and Letterboxing. These effects can be enabled and modified in the enbeffect.fx and enbeffectprepass.fx files. You can read more about them in the next section: Camera Effects.
Sun Rays: This effect mimics the way that light causes very dense air particles to be illuminated by the intense light of the sun, creating "rays" of light that emanate from the sun in Skyrim. This isn't perspective correct, as it does not incorporate the distance that the sun is from objects in skyrim, only the direction relative to other objects on the screen. Regardless, it's still an interesting effect. The intensity for this can be set in the enbseries.ini file.
Sky Lighting: This effect mimics how shadows are darker in the center than they are at the edges (because of ambient light reflection). The intensity of this effect can be controlled in the enbseries.ini file. It's highly recommended to reduce the intensity of the direct light of the sun in the environment settings, then reduce ambient light in the SkyLighting section, if you want to emphasize this effect.
There are many other effects that can be supported, such as lens reflection, 8-bit gaming effects, sepia tone, film grain, vignette, cinematic bars, interpolation, and more. These effects can be set either in the enbeffect.fx file or with an "effect.txt" file, which is essentially a .fx file in all but name. These additional effect.txt files can be found at http://enbdev.com/effect_en.htm.
Camera Effects
There are many different effects from capturing light via a camera, all caused by the distortion of light as it passes through lenses, including depth of field, lens flare, filter flare (lens reflection), anamorphic flare, bokeh, and chromatic aberration. I'll explain each of these briefly, whether or not they are supported, and where to edit them if they are supported.
Depth of Field (DoF) is an optical trick, caused by the way light is distorted when it passes through a lens (such as your eyes or a camera). When your focus is on an object that is nearby (such as your hands), objects that are far away (such as the sky or landscape) become blurry. When you focus on an object that is far away, objects that are nearby become blurry. ENB Evolved has 3 different types of Depth of Field systems. Each of these can be edited in the enbeffectprepass.fx file. You can read more about Depth of Field in the Depth of Field and Focus System section.
Focusing is the combination of changing the aperture of a lens (the iris in an eye), the shape of the lens, and the focal length or distance from the the sensor (the retina of an eye) to the lens. Changing the aperture, shape, and focal length result in different parts of the scene becoming more or less blurry, as they change the focal point of the depth of field, and the width of the depth of field. More on this can be found in the Depth of Field and Focus System section.
Lens flare is the reflection of light within a camera with multiple lenses. Lens flare is caused when light from intense sources (such as bright lights, the sun, etc.) are reflected multiple times inside the lenses of a camera, each with slightly different colors and shapes depending on the shape and tint of the lenses inside the camera. See http://en.wikipedia.org/wiki/Lens_flare for more details. The reproduction of lens flare involves moving sprites on the screen, each positioned on a line going from the light source to the center of the screen. At the moment, ENB Evolved does not support lens flare, but may be incorporated at a later date.
Filter flare, also known as lens reflection, is another type of Lens Flare, caused by reflections created by tinted filters that are applied over a lens (for color correction purposes). It involves mirroring and distorting the entire image, usually with different tints. While this can be much more realistic than lens flare, it's much harder to get it to look correct, because colors on the screen are limited to the range of zero to one, rather than being rated in lumins or photon counts. ENB does support Filter flare, and it can be configured in the [CAMERAFX] section of enbseries.ini, and the specific colors and shapes of the lenses can be configured in enbbloom.fx.
Anamorphic flare is yet another artifact, and is a sub-type of lens flare, where extremely bright lights create horizontal lines that span the entire image. This is specifically associated with anamorphic lenses, which use an oval-shaped aperture and a wide-angle lens. This feature is currently not supported by ENB Evolved, but may be incorporated at a later date.
Bokeh is another effect caused by how lenses work. It causes extremely bright points of light in the scene to leave a halo around themselves that is in the shape of the lens. The shape of the "lens" that is used to sample lights in the scene in ENB Evolved is actually a
circular set of 12 dots, so if the Depth of Field blurring effect is too high, you'll see those individual dots stand out rather than just a circle. One of the experimental Depth of Field equations supports sprite-based Bokeh, allowing you to get effects like heart-shaped bokeh, however it is experimental and very slow.
Chromatic Aberration is another property associated specifically with artificial lenses. Light that passes from one medium to another, such as from air to glass or water, changes direction based upon the "angle of refraction". However, this angle of refraction also varies with the wavelength of the light (it's color). What this means is that images captured in a camera may have subtle color distortion around the edges of objects. This is supported in ENB Evolved, and can be changed in the enbeffectprepass.fx file.
Vignette is an artifact caused by the shape of the lens, which is almost always seen as either a black ring around the image, or subtle darkening around the corners of the image. While the vignette effect will always be an oval of some kind, the shape, position, and spread of the darkened area can be controlled in enbeffect.fx.
Grain is one of the few camera effects that isn't actually caused by the lens, but rather by the film medium that the camera records to. Storage mediums in the 1960s tended to have subtle shifts in color from one point to another, which had nothing to do with the image itself, but from the inaccuracy of the storage medium. You can read more about it at http://en.wikipedia.org/wiki/Film_grain. This effect can be enabled and controlled in enbeffect.fx.
Sepia Tone is the other effect caused by storage medium. Before the more common "film" of the 1960s, early photography involved taking pictures and then bathing them in chemical solutions to cause the image to be revealed. The earliest of these actually weren't even in black and white, but rather were in a sort of orange tone, called "sepia". You can read more about sepia tone and related stuff on wikipedia at http://en.wikipedia.org/wiki/Photographic_print_toning. In ENB Evolved, this effect involves shifting the colors of the image towards sepia. This effect can be enabled and controlled in enbeffect.fx. If you want to create a Black and White effect, you can simply set the saturation in the Color Correction in enbeffect.fx to zero.
Letterboxing is an effect from displaying wide-screen images on standard sized displays. When displaying a wide-screen image on a standard display, you can either chop the sides off the wide-screen image to fill the standard display, or you can display the entire image, leaving black bars at the top and bottom. Some people prefer these black bars, since it gives the game a "cinematic" feel, like watching a movie in theater. This effect can be enabled and controlled in the enbeffect.fx file.
Interlacing is a result of trying to minimize the storage space required for full-screen digital medium, by skipping every other pixel. Surprisingly, this actually looks better than simply duplicating the pixels, since your brain will "fill in" the missing parts of the image, as opposed to being distracted by the blockiness of an image with duplicated pixels. There really isn't any point to this sort of an effect, but if you want to see what horizontal and vertical interlacing looks like, it can be enabled in the enbeffect.fx file.
The Depth of Field and Focus System
There are three different Depth of Field systems included in SkyRealism ENB Evolved, and six different presets to determine how the game determines what you are focusing on with depth of field (and how you are focusing). First though, you need a little bit of background:
The focus is the distance into the scene that the camera is currently "looking at" (see the articles listed below for more detail).
The aperture refers to the size of the lens opening, and correspondingly controls the "blur" that is applied to an object, dependent upon an objects distance from the focus (not the camera).
Here's some more links to help you understand Depth of Field and focusing:
http://en.wikipedia.org/wiki/Depth_of_field
http://en.wikipedia.org/wiki/Focal_length
http://en.wikipedia.org/wiki/Aperture
http://en.wikipedia.org/wiki/F-number
http://en.wikipedia.org/wiki/Circle_of_confusion
Simple DoF is my initial attempt at writing a realistic depth of field system from scratch. It uses the real equations for determining depth of field, and uses a camera-based system that uses f-stop aperture settings and manually set focal length to determine the focus. The Simple DoF isn't quite as good as Fast DoF, and doesn't have the "bleed" prevention. It's really a very simple type of depth of field, but allows for more control over aperture, focal length, and so on than Fast DoF. Everything about this can be set in the enbeffectprepass.fx file.
Fast DoF (the default) is my modification of Matso's Fast Depth of Field v2.0.5. It involves some slightly more sophisticated distance calculations to determine whether objects will "bleed" onto other objects. This is currently the recommended setting for Depth of Field (unless you are a machinimatographer). You can set the aperture scale (the inverse of the aperture f-stop rating system), the maximum distance, and the maximum amount of blur, and a few other values for it in the enbeffectprepass.fx file.
•fFastFocusBias is a modifier applied to the lens focus, causing it to focus either nearer or further from from the camera.
•fFastApertureScale controls the size of the aperture, and consequently the amount of blur, based upon how far an object is from the focus distance. Increasing this number will cause objects to become more blurred based on distance, but can be limited by other variables.
•fFastApertureMaxBlur sets a cap on how much blur can be applied in the scene.
•fFastApertureCutoff is another variable that can be used set the maximum blurriness, but works based on a focal distance rather than limiting blur.
•fFastApertureMaxFocus is the furthest distance the fast DoF will focus on.
Sprite DoF is my current state of the art system, and is ONLY intended for making machinimatography (still frame capture, not gameplay). It renders each pixel as a sprite, with the size of the sprite equal to the Circle of Confusion for that sprite. What this means is that you can Bokeh shapes that are non-circular. The shape of the sprite is specified in the alpha channel of the enbpalette.bmp file.
The Sprite DoF is EXTREMELY SLOW, because it renders 2 million sprites at 1080p. It also has all the sprites check with every position they occupy to determine visibility. At 1080p, with a maximum sprite size of 32x32, that's 2,123,366,400 calculations for every frame that's rendered on screen. As you can expect, this isn't going to run very quickly.
The naive "focus" for Depth of Field is on the object in the exact center of the screen. To remedy this, I've created a sophisticated set of algorithms designed to change it.
|
|