IGCS Depth of Field (Patreon)
Content
I've released a new Depth of Field system, which works with most newer cameras I've released. It is implemented in the IGCS Connector Reshade addon and a shader, and works similar to how MSADOF works or how the DoF in e.g. Forza works; it'll produce clean, realistic bokeh effects without artifacts. The technical term is 'Accumulation-buffer based Depth of Field'.
Release: https://github.com/FransBouma/IgcsConnector/releases
Sourcecode: https://github.com/FransBouma/IgcsConnector
Guide: https://opm.fransbouma.com/igcsdof.htm
Be sure to read the guide for how to setup reshade, the addon and the shader and how to use it!
Here's a couple of examples what it looks like:
It's an effect which takes some time to render so you can't use it in real-time.
NOTE: if you update to a newer version, always update the shader and the addon. If for some reason it doesn't work even if you have updated the shader, be sure to click 'Clear effects cache' on the Reshade's Configuration tab.
Enjoy!
Changelog:
v2.5.2:
- Fixed: (Shader) (MartyMcFly) In some low-light situations banding could occur in large out-of-focus areas even though dithering was implemented to mitigate that. This has been corrected, banding should now no longer occur.
v2.5.1:
- Fixed: (Shader) (MartyMcFly) When there were no tools injected the shader could show unwanted behavior
- Fixed: (Shader) (MartyMcFly) The magnifier was showing only per pixel movement
- Fixed: (Shader) (MartyMcFly) The magnifier is now also covered by the compute shader, avoiding a separate pass.
v2.5.0:
- Fixed: (Shader) (MartyMcFly) The first frame 'flash' is now no longer present, which likely could lead to less blurry images on lower framewait values
- Fixed: (Shader) (MartyMcFly) The edges of the result image no longer contain darker fades
- Fixed: (Shader) (MartyMcFly) The dithering to avoid banding is now using a better algorithm
- Changed: (Shader) (MartyMcFly) The igcsdof.fx shader is now using a compute shader setup and is much faster
- Added: (Addon/Shader) (MartyMcFly) Cateye bokeh effect, which results in Helios 40-2 like swirly bokehs further away from the center of the frame
v2.4.0:
- Fixed: (Addon) (Otis_Inf) Way faster rendering, up to full framerate
- Fixed: (Addon) (Otis_Inf) Fringe/Chromatic aberration for circular bokehs is now alighed at the top instead of on the right, so two-color CA is properly divided between left/right.
- Fixed: (Shader) (Otis_Inf) Vignetting in some occasions (Inner to Outer rendering type mostly).
- Added: (Addon) (Otis_Inf) Camera data is now exported to various IGCS_ prefixed uniforms so shaders can obtain that data at runtime. See repo readme which uniforms have been added.
- Added: (Addon) (Otis_Inf) Added buttons next to some value controls so they're easier to choose as dragging them was a bit cumbersome.
v2.3.2:
- Fixed: (Shader) (Otis_Inf) On edges it could be there was a brighter border due to lack of blending from discarded samples outside the view port.
- Changed: (Addon) (Otis_Inf) Unchecking the 'Record ReShade state with camera nodes' checkbox will now be preserved across sessions.
v2.3.0:
- Fixed: (Shader) (MartyMcFly) First frame is now no longer blended twice
- Added: (Shader) (MartyMcFly) Sharper in-focus areas and less moire in highlights due to different blending of HDR samples
- Fixed: (Addon) (Otis_Inf) Angles for aperture shaped shapes didn't start at 0.
- Fixed: (Addon) (Otis_Inf) Changing the render order didn't take effect till you also changed another value which re-triggered calculating the shape steps.
- Changed: (Addon) (MartyMcFly) Reimplementation of spherical aberration so it preserves the light across the entire highlight and no longer leads to dimmed shots in some cases
- Changed: (Addon) (Otis_Inf) Maximum of vertices in aperture shaped shapes is now 10 to make the number of vertices slider be more controllable
- Added: (Addon) (MartyMcFly) Added separate fringe functionality for tiny outlines of highlights
- Added: (Addon) (Otis_Inf) Added separate chromatic aberration functionality (4 types) to displace red/green/blue on the edges of highlights for artistic purposes.
NOTE: be sure to update shader and addon!
v2.2.2:
- Fixed: (Addon) The preview of the shape in the Reshade overlay was drawn mirrored vertically, so basically upside down. The preview now represents how the bokehs will look in the final result (in the far plane. Shapes in the near plane will be upside down due to how the dof works).
- Fixed: (Addon) The ring angle offset value is now rotating the inner rings more related to the outer rings so it keeps the outer ring in place (and thus the whole shape in place) which makes it easier to define the right shape rotation.
v2.2.1:
- Fixed: (Addon) A bug in the addon could cause the game to crash when you enabled a shader in reshade during setup, and you didn't have this shader enabled when the game was started
- Added: (Addon) A check has been added to inform the user that if the IgcsDOF shader is disabled in reshade, they first have to enable it and place it at the bottom of the list.
v2.2.0:
- Changed: (Shader) Marty McFly contributed an optimized shader which uses less memory and is a bit faster
- Changed: (Addon) SirCobra contributed a way to focus with just one slider, so focusing is now a matter of just sliding one slider and you're set!
- Fixed: (Shader) Marty McFly contributed Cone Overlap support for avoiding extrapolated bright color fragments when using a highlight boost nearing 1.0
- Fixed: (Addon) When changing max bokeh size, it will automatically recalculate the focus delta so you don't have to re-focus afterwards. This also fixes the issue when changing aspect ratios while you had setup the focus delta: the image stays focused.
- Added: (Addon) Added an option which makes the progress bar show up in the reshade overlay instead of an overlay in the top left corner.
- Added: (Addon) Added an option to create anamorphic bokehs (Vertical ellipses)
- Added: (Addon) Added an option to specify an optional angle per ring in the bokeh shape to avoid having a grid-like pattern.
- Added: (Addon) Added aperture shaped bokeh shapes using vertices and optional rounding options for hexagon etc. shaped bokehs.
- Added: (Addon) Added spherical aberration support so you can dim center areas of bokeh highlights.
v2.1.1:
- Added: (Addon) up to 60% speed increase in the rendering phase by rearranging code in the render state machine so more work is now done at the same time. This might result in you having to choose a value for 'Number of frames to wait per frame' that's 1 higher than what you're previously using, but it depends on the game.
- Added: (Addon) Several values are now written to an ini file in the folder where the addon is located, so it will make it easier to use the addon next time.
- Fixed: (Shader) If the in-focus element/subject was too close to an edge of the image, it could be the blurred edges would stretch towards the edge of the image.
v2.1.0:
- First release with IGCS Depth of Field