SweetFX Shader Suite Download Version 1.5.1

Software Updates 23 Updated by Hilbert Hagedoorn

Click here to post a comment for SweetFX Shader Suite Download on our message forum
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
Changelog Version 1.4 Adds the Border shader as a workaround for the bright screenedge forcing certain AA modes can cause Adds the Cartoon shader that can make the image look more cartoonish Adds the Advanced CRT shader that can mimic the look of an old arcade CRT display Adds the Monochrome shader that removes the colors Adds the FXAA shader as an alternative to SMAA for the few people that still prefer it. (only in DX9 for now though) Improved the Curves shader so it can now apply contrast to Chroma as well as Luma (as before) or both Improved the performance of formula 5 in the Curves shader (the simplified Catmull-rom spline) Improved the Dither shader with the option to use Random Dithering. Improved the Dither shader so now uses a subpixel dithering pattern. (Both when using Random or Ordered Dithering) Lowered the default SMAA threshold to 0.10 so fewer aliased lines escape processing. Fixed a bug where dark areas could on occasion appear when HDR and Lumasharpen where both activated at the same time. The alpha channel is now cleared before outputting the image to prevent it messing with screenshots converted to png. The SweetFX settings file now include a description field to help keep track of which version the settings are for. Improved the Vignette shader to allow you to create oval shaped vignettes. Curves_formula 2 is now the default Curves formula. Includes some notes on how you can make custom shaders Version 1.3 Adds the Lift Gamma Gain shader which lets users adjust brightness and color of shadows, midtones and highlights. Adds the Curves shader which uses S-curves to adjust the contrast of the image Adds the Splitscreen shader which makes it easier to do comparison screenshots and videos. Reversed the DPX blend setting so smaller numbers now mean less effect and not more (it's more logical this way) Better default DPX settings More conservative default Vibrance settings (down from 0.20 to 0.15) All settings in the settings file now have ranges. (preparations for an upcoming GUI) Version 1.2 Fixes a rounding problem on AMD hardware with the dither shader. Includes usermade presets - look in the SweetFX/Presets/ folder. Updated and expanded documentation. Minor speed improvements to most of the shaders. Hopefully it adds up. Based on user feeedback default settings now use more conservative sharpening Also default settings now enable conservative Vibrance settings Slightly better default Sepia settings Vignette now more uniformly darkens all the color channels of the screen edges Adds the DPX shader - settings still need a lot of work though. Version 1.1.1 Fixes DirectX 10/11 support Version 1.1 Keymappings have changed to Printscreen, Scroll_lock and Pause Settings now use a .txt suffix which is hopefully less scary for novices Optimized the Vignette shader to run a little faster Adds the Dither shader that performs dithering of the image to help remove or reduce banding artifacts (most commonly caused by the Vignette) Fixes and improves Vibrance Accidently broke DirectX 10/11 support Version 1.0 First non-beta release. Adds SMAA, LumaSharpen, Vibrance Tweaks and improvements to HDR, Bloom, Tonemap, Sepia and Vignette SMAA is now configurable, so you can use your own settings and it even allows you to use Color Edge Detection Supports DX 9,10 and 11 and will automatically use the version the game requires without depending on the user to do anything The Readme (It's also included in the mod itself.)
 .--------------------------------------------------.
 
          .-.                   .  .---..   .
         (   )                 _|_ |     \ / 
          `-..  .    ._.-.  .-. |  |---   /  
         (   )\  \  / (.-' (.-' |  |     / \ 
          `-'  `' `'   `--' `--'`-''    '   '
                    Shader Suite
                    by CeeJay.dk                    
 '--------------------------------------------------'
 
 - Version 1.4

SweetFX is a universal image improvement and tweaking mod,
that works with almost any 32bit (and hopefully soon 64bit) DirectX 9, 10 or 11 game or application.

It's goal is provide similar tools to games in realtime, as video processing software provides for movies and videos.

Effects included:

* SMAA Anti-aliasing : Anti-aliases the image using the SMAA technique - see http://www.iryoku.com/smaa/
* Cartoon : Creates an outline-effect that makes the image look more cartoonish.
* Advanced CRT : Mimics the look of an old arcade CRT display.
* LumaSharpen : Sharpens the image, making details easier to see
* Bloom : Makes strong lights bleed their light into their surroundings
* HDR : Mimics an HDR tonemapped look
* Technicolor : Makes the image look like it was processed using a three-strip Technicolor process - see http://en.wikipedia.org/wiki/Technicolor
* Cineon DPX : Makes the image look like it was converted from film to Cineon DPX. Can be used to create a "sunny" look.
* Monochrome : Removes colors from the image so it appears as if shot on black and white film.
* Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights (avoids clipping)
* Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
* Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
* Curves : Contrast adjustments using S-curves.
* Sepia : Sepia tones the image - see http://en.wikipedia.org/wiki/Sepia_tone#Sepia_toning
* Vignette : Darkens the edges of the image to make it look more like it was shot with a camera lens. - see http://en.wikipedia.org/wiki/Vignetting )
* Dither : Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts - see http://en.wikipedia.org/wiki/Dithering#Digital_photography_and_image_processing )
* Border : Makes the screenedge black as a workaround for the bright edge that forcing some AA modes sometimes causes.
* Splitscreen : Enables the before-and-after splitscreen comparison mode.

You can find new releases of SweetFX in it's thread on the Guru3d forums :
http://forums.guru3d.com/showthread.php?t=376265


   /*-----------------------------------------------------------.   
  /                      Installation                           /
  '-----------------------------------------------------------*/

1) Extract or copy all the files into the directory of a game exe (keeping the file structure intact).

The installed files are:
   d3d9.dll                 - DirectX 9 proxy dll that will inject shaders into DirectX 9 games
   d3d9.fx                  - DirectX 9 specific shader code
   dxgi.dll                 - DirectX 10/11 proxy dll that will inject shaders into DirectX 10/11 games
   dxgi.fx                  - DirectX 10/11 specific shader code
   shader.fx                - Alternative DirectX 9 specific shader code for FXAA support.
   injector.ini             - Settings for the shader injector dlls - you can reconfigure the keys used in this file
   SweetFX readme.txt       - This readme
   SweetFX_preset.txt       - You can choose which settings file to load here - default is to load SweetFX_settings.txt
   SweetFX_settings.txt     - SweetFX settings. Effects can be turned on and off here, and their settings can be tweaked.
   
   SweetFX/ (directory)     - The SweetFX subdirectory. 
   |- /Presets/             - Presets are stored here.
   |- /Shaders/             - All the shaders, except d3d9.fx and dxgi.fx are stored here.
   |- /dlls/                - Alternative DirectX proxy dlls are stored here.
   |   |- /FXAA DX9 dll/    - You will need to use the FXAA DX9 dll to use FXAA. Copy it over the one in the main folder.
   |   '- /SMAA/            - The SMAA dlls if you need to return to them. These are the same as the ones in the main folder.                
   |- /Game_Compability.txt - Can't make SweetFX work with a game? - You can find help here.
   '- /Making shaders.txt   - A few hints on making custom shaders for SweetFX.

   log.log                  - This logfile is not installed, but will be created when the DirectX proxy dll runs.
                              If something goes wrong, this file will usually tell you why.

Some games require special attention - You can find a list of those and instructions on how to get them working with SweetFX 
in SweetFX/Game_Compability.txt
If you encounter a game not in the list that requires more effort to work with SweetFX, post about it in the official thread
on Guru3d : http://forums.guru3d.com/showthread.php?t=376265
                            
2) Install the latest DirectX update if you haven't already
   Last I looked it was here : http://www.microsoft.com/en-us/download/details.aspx?id=35
   (You don't need any of the other stuff Microsoft tries to push - just DirectX)                            


   /*-----------------------------------------------------------.   
  /                          Usage                              /
  '-----------------------------------------------------------*/
  
It will automatically run when you start the DirectX 9, 10 or 11 game that you added SweetFX to.
If you want to run different game with SweetFX then you need to install to that games directory too.

It does not modify any game files either on disk or in memory.
Instead it uses a custom Direct3D runtime dll which the most DirectX games will call.

PRINTSCRN saves a screenshot named ScreenshotXXXX.bmp in the directory you installed SweetFX to.
SCROLL_LOCK switches it ON and OFF. It starts in ON mode.
PAUSE reloads the shader files (this is useful when you need to tweak the settings while the game is running)

Keys can be reconfigured in the injector.ini file.

Some keyboards (mostly on laptops) don't have a dedicated SCROLL_LOCK button,
but require you to hold down the Fn button while you press another key to activate Scroll Lock.

If you can't figure out the right combination just from looking at your keyboard and experimenting,
then read the documentation for your keyboard or just reconfigure the keys in injector.ini


   /*-----------------------------------------------------------.   
  /                      Tweaking settings                      /
  '-----------------------------------------------------------*/

You can choose which effects to enable, and set their parameters
in the SweetFX_settings.txt file - this can even be done while the game is running.

1) Switch away from your game with ALT+TAB or WIN+TAB
2) Open SweetFX_settings.txt in any text editor - fx. : Notepad (I use Notepad2)
3) Edit the settings and save.
4) Switch back to your game with ALT+TAB or WIN+TAB
5) If the game is running in fullscreen mode then it will now have reloaded the shader files
   and your new settings have been applied.
   If the game is running in Windowed mode then you need to press the PAUSE key to reload the shader files
   and apply your new settings.
   
And naturally you don't have to start the game before you edit your settings.
It can be done before the game runs as well.   

If you find editing a text file tedious and would rather want a GUI then I know of two third-party GUIs for SweetFX:
SweetFX Configurator (by Terrasque) : http://sweetfx.thelazy.net/ 
and FlightFX ( by Laser ) : http://riseofflight.com/forum/viewtopic.php?t=34103

   /*-----------------------------------------------------------.   
  /                          Presets                            /
  '-----------------------------------------------------------'/
SweetFX has a preset feature. Presets are just settings files made for a specific game, series of games or a special purpose.
Many (most) of these are made by the users of SweetFX.

You can find a lot of them in the SweetFX Settings Database (made by Terrasque who also made the SweetFX configurator GUI)
http://sfx.thelazy.net/games/

I include a few of these in /SweetFX/Presets/ as examples.

They are a good start if you need help finding the settings that are just right for you.

The preset feature works like this:
1) SweetFX looks in SweetFX_preset.txt , which tells it what settings file to include (load)
2) It then includes (loads) those settings.

Per default the contents of SweetFX_preset.txt is a single command:
#include "SweetFX_settings.txt"

This tells SweetFX to load the settings in SweetFX_settings.txt

To load different settings simply point to a preset.

Fx. to use the awesome Torchlight2_TFL.txt preset by TFL that is intended to make Torchlight 2 look,
darker, dirtier, grittier and all-around more "evil" simply change the #include line to :
#include "SweetFX/Presets/Torchlight2_TFL.txt"

Note that although presets are often intended for a single specific game, they can be used in any game you wish.

To make your own preset simply copy the SweetFX_settings.txt file, rename it whatever you'd like, and point the #include line to its location

For example :
1) Make a copy
2) Rename it mycustom_preset.txt
3) Move it to the Presets folder (you don't HAVE to do this - this is just to keep the files organized)
4) Change the #include line to :

#include "SweetFX/Presets/mycustom_preset.txt"

If you make a really good preset please share it with other users in the SweetFX release thread at :
http://forums.guru3d.com/showthread.php?t=376265

And put them in the SweetFX Settings Database at:
http://sfx.thelazy.net/games/

Similar to the other presets try also to include some details about your preset

Game: What game(s) you made this for
SweetFX version: What SweetFX version you made this for
Author: Your name
Description: "Your description goes here"

   /*-----------------------------------------------------------.   
  /                  Making your own shaders                    /
  '-----------------------------------------------------------'/
I've included a few notes on how you can create your own shaders for SweetFX.
You can find the in the SweetFX subfolder.

   /*-----------------------------------------------------------.   
  /                         Problems?                           /
  '-----------------------------------------------------------*/

When the mod starts it creates a log.log file next to it's own location.
Open the log with a text editor and see what the problem is.

If no log file is created then the mod did not start.
- Maybe you didn't put the files in the right location?
- Or maybe the game doesn't use DirectX?

Most games use DirectX 9, 10 or 11.
Notable games that use OpenGL (which SweetFX doesn't work with) are all games by id software,
and those games based on their 3D engines.


Q: It says d3dx9_43.dll is missing
A: You need the latest DirectX 9 update.
   See step 2) of the installation section.
   
Q: It does not run with the 64bit version of my game exe.
A: SweetFX is not compatible with 64bit versions of games - use a 32bit version.
   Support for 64bit games is underway - check the discussion thread for the lastest news on that.

Q: My game crashes with SweetFX installed.
A: The log.log file will most likely tell you why.
   If no log file is created but it still crashes with SweetFX installed and not without, then it's likely crashing because it can't write to the log file.
   This is usually caused by insufficient user permissions in the game folder you installed SweetFX to.
   
   Try running the game as an administrator or change the folder permissions to grant your user account write access.
   
   This issue is mostly seen on Windows Vista, 7 and 8 with games that install to the program files folder, since Vista, 7 and 8 normally restricts write access to that folder.
   User accounts on Windows XP usually have administrator rights and don't see such problems (however letting user accounts have administrator rights can be a security risk
   which is why Microsoft changed that beginning with Vista).

Q: I don't see any change in the image
A: Try turning off anti-aliasing in the game (not in the mod)
   The mod is not compatible with some antialias implementations.
   It might be made compatible by setting compability flags.
   
   If not then you can always use the included SMAA anti-aliasing.

   
Q: How do I make MSI Afterburner / EVGA Precision / Rivatuner OSD work with this mod?
A: To make MSI Afterburner work with this mod and others like it you need to :

1) Update to the latest version of MSI Afterburner.
2) Start MSI Afterburner.
3) Switch to the "MSI On-Screen Display Server" window.
4) Create a new profile for your game and change to it.
5) Click the big wrench icon to change advanced settings.
6) Go to General -> Compatibility properties and turn on "Enable compatibility with modified Direct3D runtime libraries".

MSI Afterburner is now compatible with shader mods.

You can also change the setting for the Global profile,
but MSI does not recommend this because it might prevent some Direct3D applications from starting.

The same (very similar) steps also work with EVGA Precision and Rivatuner OSD,
as all 3 tools are based on Rivatuner OSD.


Q: How do I use SweetFX with ENBseries?
A: By making ENB run SweetFX. You need to: 

1) Rename d3d9.dll to sweetfx_d3d9.dll
2) Install the ENB series files into the same directory
3) Edit enbseries.ini so the top section looks like this:

[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=true
ProxyLibrary=sweetfx_d3d9.dll

That should do it.

Q: How do I use SweetFX with OpenGL games?
A: SweetFX only supports DirectX 9 , 10 and 11 games, however you can use a OpenGL to DirectX wrapper.

Try the QindieGL wrapper : http://code.google.com/p/qindie-gl/
It can translate OpenGL calls to DirectX 9 calls that SweetFX will work with.
It does not work with all OpenGL games and some games it does work with will have buggy graphics
and it will likely run slower since it's being translated, but if you want to try out SweetFX with OpenGL games this is probably your best bet.
I haven't tried it myself yet so let me know if it works or not.

Q: How do I use SweetFX with DirectX 8 games?
A: SweetFX only supports DirectX 9 , 10 and 11 games, however you can use a DirectX 8 to DirectX 9 wrapper.

Try the DX8 to DX9 convertor from ENBseries : http://enbdev.com/download_en.htm
Let me know if it works for you.

Q: How do I use SweetFX with games that use DirectX 7 or older or even Glide?
A: Again you need to find a wrapper that will translate the API that the game uses to one that SweetFX supports.


   /*-----------------------------------------------------------.   
  /                     Uninstallation                          /
  '-----------------------------------------------------------*/

1) Delete all the files you copied during the installation.


   /*-----------------------------------------------------------.   
  /                          Credits                            /
  '-----------------------------------------------------------*/

 Uses SMAA. Copyright (C) 2011 by Jorge Jimenez, Jose I. Echevarria,
 Belen Masia, Fernando Navarro and Diego Gutierrez.
  - More info on: http://www.iryoku.com/smaa/
 
 Uses FXAA by Timothy Lottes (Nvidia) 
  - His blog: http://timothylottes.*************
 
 Uses InjectSMAA by Andrej Dudenhefner ( mrhaandi )
  - http://mrhaandi.blogspot.dk/p/injectsmaa.html
 
 Uses shaders from FXAATool by Violator, [some dude], fpedace, BeetleatWar1977 and [DKT70]
  - https://www.assembla.com/wiki/show/fxaa-pp-inject/  
  
 DPX shader by Loadus
 
 Border shader by Oomek - rewritten and optimized by CeeJay.dk
 
 Advanced CRT shader by cgwg, Themaister and DOLLS - ported to SweetFX by Boulotaur2024.
 
 Lift Gamma Gain shader by 3an and CeeJay.dk
 
 Cartoon by CeeJay.dk, but based on the Auto Toon cg shader found in the Dolphin emulator.
  - http://dolphin-emu.org/
  
 SweetFX, LumaSharpen, Dither, Curves, Vibrance , Monochrome and Splitscreen by Christian Cann Schuldt Jensen ( CeeJay.dk )
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
Screenshots There are a whole subscene of people who enjoy taking fantastic dreamshots in games. Many of them are on flickr and many use SweetFX so a flickr search for SweetFX will turn up tons of screenshots that really show off what SweetFX can do in the hands of someone talented. You can see the ones that was posted to the first thread There are also plenty to find on the net if you do a image search for SweetFX as well as plenty of comparision shots in the SweetFX Settings Database Youtube is also full of SweetFX videos
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
FAQ Q: Can I use this with a OpenGL games? A: SweetFX does not currently support OpenGL but hopefully in the future it will. For now trying using the opengl wrapper mentioned in the readme. Work is being done on a new injector with OpenGL support but it's not ready yet. Q: Does this work with 64bit games? A: Yes, Boulotaur's Injector works with 64bit exe's and so does RadeonPro. Q: Does this work with 64bit Windows? A: Yes. All version of SweetFX (not just boulotaurs) work with 64bit Windows. Q: When I launch the game it crashes/doesn't start/SweetFX isn't enabled? A: Try disabling AA in-game(some games wont work with AA and SweetFX together,) if that doesn't work check the log file to see if maybe it will give you an ideal location and if not try Boulotaur's injector; if that fails post the log file information in the thread and we'll see if we can figure it out. Q: I keep getting an error when using DX11 on Win 8.1 RTM? A: The dxgi.dll needs to be updated to support some DXGI changes that Win8.1 introduced. Future versions of the injector should have Win8.1 support. You can still use DX9 games with SweetFX under Win8.1, and some DX10/11 still work on Win8.1. RadeonPro also works. Q: Why wont Amnesia: The Dark Descent work with SweetFX? A: Amnesia is an OpenGL game which SweetFX does not support at this time. Q: Can you add support for Depth of Field or SSAO? A: Those effects require that the injector have support for a depth texture, which the InjectSMAA injector does not. Hopefully in the future, but it's not in the cards right now.
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
I'm still updating the thread, but you can post now.
https://forums.guru3d.com/data/avatars/m/230/230424.jpg
Thanks CeeJay.dk, To the batmoblie!!!.... some villainous games need some tweakin and shiiiit.
https://forums.guru3d.com/data/avatars/m/247/247959.jpg
Wow thanks CeeJay.dk!I really like some of the new futures in the new version, i will give it a try soon and i hope it works with the old configurator
https://forums.guru3d.com/data/avatars/m/230/230424.jpg
Thanks for the Mario G2 settings in Dolphin, Marcel:):
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
Assassino asks (in a PM) how one uses the Monochrome shader: It's very easy. You set the percentage of each color that should go into the greyscale image. If you want 15 % of the red and 65% of the green and 20% of the blue , then you set it to float3(0.15,0.65,0.20) You can find some settings that mimics black and white film stock here : http://www.prime-junta.net/pont/How_to/100_Curves_and_Films/_Curves_and_films.html If you're looking to match the same brightness only in greyscale, then try (0.21, 0.72, 0.07)
https://forums.guru3d.com/data/avatars/m/247/247468.jpg
I don't know if this would help you out or not .. But I read in the last pages of the #2 thread, that you have no support yet for multi-pass. Boris Vorontsov released ENB for GTA:SA v0.076 which enables multi-pass support for shaders. After further requests, he also released 'wrapper' and 'injector' version of this ENB, to be used with many other games. Maybe this injector could be used, so that you would finally have multi-pass support, which in-turn; would allow for better and more complex shaders?
https://forums.guru3d.com/data/avatars/m/219/219999.jpg
SweetFX refuses to work with any of my Source games. Yes I disabled AA and put in everything in the right place. **EDIT** Nvm, afterburner was making it crash.
data/avatar/default/avatar22.webp
Try Bouloutaurs injector and the built-in SweetFX in the latest RadeonPro betas if you can and let us know if that made any difference.
Here: http://forums.guru3d.com/showpost.php?p=4553709&postcount=1065 v1.3 and v1.4 works exactly the same with Tomb Raider 2013 In short, works with that DLL, but SMAA works poorly and I can not configure the enable keys.
https://forums.guru3d.com/data/avatars/m/245/245899.jpg
Thank you CeeJay.dk for all your hard work...looking forward to testing 1.4 😀
https://forums.guru3d.com/data/avatars/m/220/220405.jpg
Thank you for another awesome release. 🙂
data/avatar/default/avatar11.webp
Thank you, ceejay for 1.4 release. One more question. I still curious about smaa threshold parameter. What is better for this? Lower 0.10 or maximum at 0.20? Sound stupid but i still dont know whats better. 😀
https://forums.guru3d.com/data/avatars/m/239/239302.jpg
Some comparison shots (view in fullsize) that show the difference between: No dithering Ordered Dithering Random Dithering If you have trouble seeing the difference try zooming in with the windows magnifier tool (press "Win" + "+" - that's the Windows key and the plus key at the same time) In Windows 7 at least that's a hotkey combination that should always work - I'm not sure if you have the same hotkeys in Windows Vista and XP or if you have to start the program normally first. The browser zoom function doesn't work for this because it interpolates the pixels (smooths them), which is normally a good thing - just not for this purpose.
https://forums.guru3d.com/data/avatars/m/247/247468.jpg
Random seems better for me 🙂 You never replied about my suggestion about using a new injector ^^ Whether it would help or not .. It includes shaders for reflection, shadows, per pixel lighting, SSAO and DoF; plus there are many multi-pass shaders out there written in HLSL that could possibly be adapted for SweetFX.
data/avatar/default/avatar30.webp
CeeJay, what about my question in previous post? Whats better for smaa threshold? lower or higher values? thank you.