Monday, November 19th 2018
Post-process Injector, ReShade 4.0 Released, Offers Numerous Enhancements
Generic post-processing injector, ReShade, which offers SMAA anti-aliasing, screen space ambient occlusion, depth of field, and many other effects, has been updated to version 4.0. More than just a version update the ReShade FX compiler has received a complete overhaul having been made fully standalone as of this release. These changes bring performance improvements, better error recovery, improved support for code features, and even opens up the ability to add Vulkan support since it can now generate HLSL, GLSL, and SPIR-V. With a change-log packed with enhancements changes and new features, Crosire, the author also reworked the UI. Not only can the new UI be customized by the user, but it also includes new features such as an in-game code editor and texture preview.
While it should be noted that due to the compiler change some effects may no longer compile or work properly in version 4.0. However, these effects just need to be updated by their authors to work with the latest release. Going forward it is likely smaller revisions and updates will be forthcoming with a version 4.0.1 already having surfaced with further fixes. Sadly, even with these quick fixes, teething issues continue beyond the few broken effects by other authors. Some games like Diablo 2 and Arma 3 are proving problematic for some users of the latest ReShade version. Even so, with further updates should see these issues resolved, however for those enjoying those two games, in particular, can roll back to 3.4.1 which remains a fairly stable release.The Change-log follows.
4.0.0:
Source:
ReShade
While it should be noted that due to the compiler change some effects may no longer compile or work properly in version 4.0. However, these effects just need to be updated by their authors to work with the latest release. Going forward it is likely smaller revisions and updates will be forthcoming with a version 4.0.1 already having surfaced with further fixes. Sadly, even with these quick fixes, teething issues continue beyond the few broken effects by other authors. Some games like Diablo 2 and Arma 3 are proving problematic for some users of the latest ReShade version. Even so, with further updates should see these issues resolved, however for those enjoying those two games, in particular, can roll back to 3.4.1 which remains a fairly stable release.The Change-log follows.
4.0.0:
- Rewrote ReShade FX compiler from ground up to generate SSA code (way too many changes to list them all)
- Added #line directives to HLSL/GLSL output for better error messages when HLSL/GLSL compilation fails
- Added error for array declarations without a size
- Added error when attempting to cast arrays
- Added variable name to error messages referring to variables
- Added context menu to variable widgets with option to reset them to their default value
- Added option to display boolean values as combo box instead of checkbox (via < ui_type = "combo"; >)
- Added option to save preset and settings with screenshot
- Added in-game code editor
- Added experimental variable editing UI which uses tabs instead of trees (disabled by default, can be enabled in settings)
- Added progress bar to loading progress on splash bar
- Added separate FPS and frame time overlay and changed their font to the same as the UI
- Added radio button widget (via < ui_type = "radio"; ui_items = "Button 1\0Button 2\0...\0"; >)
- Show techniques belonging to effects that failed to compile in the technique list
- Updated to latest ImGUI with support for docking
- Changed effect loading to use multiple threads for initial compilation with the ReShade FX compiler and only compile the generated HLSL/GLSL code for those effects that are enabled
- Delayed effect loading to the first frame
- Changed default keyboard shortcut to open the UI to "Home"
- Changed default color scheme (thanks to CeeJay)
- Changed drag widget to a slider widget (old one is still available via < ui_type = "drag2"; >)
- Changed font scaling to actually re-create the font atlas with a different font size instead of scaling the atlas texture
- Changed setup to use relative search paths by default
- Changed setup to select Steam installation directory by default if present
- Create a default preset file on launch if none exists (so no changes are lost if the user forgot to create one)
- Reworked styling settings
- Reworked various UI widgets (e.g. search path selection, preprocessor settings, ...)
- Reworked statistics UI design and added texture preview
- Improved performance of update loop for special uniform variables (those with a < source = ...;> annotation)
- Fixed text input not working if raw input is used with legacy keyboard messages disabled
- Fixed mouse cursor being reset to the window corner on first call when input blocking is active
- Fixed race condition when accessing input causing ReShade to ignore keyboard strokes sometimes
- Fixed errors staying on splash screen after reloading shaders
- Fixed crash when constant folding encounters a divide by zero expression
- Fixed implicit type conversion rules for functions with multiple parameters
- Fixed window becoming inactive when global alpha is set to zero
- Fixed LOD bias for textures with auto-generated mipmaps in D3D9
- Fixed crash if sampler bindings exceed the input resource slot limit in D3D10/D3D11
- Removed API specific effect compilers and instead handle everything in standalone ReShade FX compiler
- Removed support for custom #pragma directives
- Removed user name filtering from log output
- Removed support for intrinsic functions in constant expressions from ReShade FX compiler
- Removed performance mode hint popup (should be obvious enough with the checkbox now)
- Added option to change the clock format
- Changed slider widget to be used with < ui_type = "slider"; > instead of < ui_type = "drag"; >
- Changed "Show HLSL/GLSL" button to toggle the editor window
- Fixed issues with UI elements disapearing in some OpenGL games
- Fixed crash when using special keys for toggle keys
- Fixed ReShade forcing OpenGL contexts to OpenGL 4.5, when 4.3 is enough
- Fixed shader creation failure on D3D10/11 devices with non-default feature level
- Fixed using "continue" statement causing the compiler to generate infinite loops
- Fixed text editor not being cleared when reloading effects
4 Comments on Post-process Injector, ReShade 4.0 Released, Offers Numerous Enhancements
SMAA and TSSAA still remains the best AA techniques out there despite what nGreedia says. Even their hardware solution from the latest gen GPU it's still garbage compared to those 2... :)