nVidia's FXAA mode (anti-aliasing)

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by TheHunter, Jul 20, 2011.

  1. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    SweetFX 1.1 is here

    Here is SweetFX 1.1

    Alternative link - Also includes a .zip version of the archive.

    Changes :
    * Vibrance now works correctly - I may tweak it later, but it now saturates weak colors more than strong colors as it should.

    * New shader - Dither. It dithers the image to make it look like your monitor can display 9 bits per component rather then it's actual 8 bits. This either removes or greatly lessens the banding caused by Vignette.
    I suggest you switch it on if you use the Vignette. Dither will also dither the output of all the other shaders too, but they don't really cause any visible banding. The speed impact of this shader is tiny - as I've optimized it greatly over this last week.

    * Vignette runs a little faster as I discovered that odd numbers in the VignetteSlope setting makes it run slower. I've now set it to 8 instead of 7 and retweaked the settings to look good with the setting.

    * The filenames of SweetFX_settings.h and SweetFX_preset.h was changed to use a .txt suffix because I figured that it was less scary for novices to open a .txt file than a .h file.

    * I changed default keymappings .. again :) SCROLL_LOCK now toggles ON and OFF while PAUSE reloads the shaders.
    I figured that SCOLL_LOCK is hardly used by any programs expect maybe Spreadsheet programs like Excel, and should therefore not conflict with any games. PAUSE might conflict with an in-game pause function but reloading the shaders while paused should not cause any annoyances. Also this way all the keys are positioned logically near each other.

    * I added more info to the SweetFX readme

    * I've made SweetFX compatible with GPU Shaderanalyzer. This is of no use to you the users, but it makes it easier to profile and debug the shaders for me or anyone else who want to try editing the shaders.
    I mainly use DX9_SMAA_off_PS as an entry point if someone wants to try it out.

    If there were other changes I've forgotten about them
     
    Last edited: Sep 2, 2012
  2. BetA

    BetA Ancient Guru

    Messages:
    4,348
    Likes Received:
    296
    GPU:
    G1-GTX980@1400Mhz
    THX for the UPDATE CeeJay.dk

    -BetA-
     
  3. jelbo

    jelbo Member

    Messages:
    26
    Likes Received:
    0
    GPU:
    nVidia GTX670 DirectCUII
    Great update, CeeJay.dk :)

    Right now I'm alternating between SweetFX and FXAATool while playing Darksiders 2. I really like the sharpness of SweetFX's SMAA, but I also like some of FXAATool's settings not in SweetFX, like gamma/exposure/etc. Is there a way to use both together (with FXAATool's antialiasing switched off), or incorporate some of the FXAATool effects into SweetFX?
     
    Last edited: Sep 3, 2012
  4. TFL Replica

    TFL Replica Master Guru

    Messages:
    384
    Likes Received:
    2
    GPU:
    NVIDIA GTX 970
    All of those post processing effects (and more) are available in SweetFX_settings.
     

  5. jelbo

    jelbo Member

    Messages:
    26
    Likes Received:
    0
    GPU:
    nVidia GTX670 DirectCUII
    Sweet. I'll have a deeper look into the config files then.
     
  6. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Sweet FX 1.1.1

    Here is SweetFX 1.1.1

    Alternative link

    Changelog :

    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
     
  7. Mikedogg

    Mikedogg Banned

    Messages:
    2,844
    Likes Received:
    0
    GPU:
    Radeon HD 4650M 1GB
    Nice work. My only gripe is that my lappy don't have a "scroll lock or a pause", and it's not working with some games.
     
  8. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Reconfigure your keys in injector.ini

    What games aren't working?
    Also let me see the contents of the log.log file for the games that don't work right.
     
  9. mypc

    mypc Guest

    hey ceejay.dk cant you make smaa tool like fxaa tool its much easier to control you know
     
  10. pipes

    pipes Member Guru

    Messages:
    176
    Likes Received:
    0
    GPU:
    gtx 1080 ti oc lab
    Hi, pro evolution soccer 2012 on windows 8 dont work, fifa 12 working well.
    I have activate hdr bloom and vibrance and framerate go down
     

  11. Mikedogg

    Mikedogg Banned

    Messages:
    2,844
    Likes Received:
    0
    GPU:
    Radeon HD 4650M 1GB
    Off the top of my head for non working games:
    -Alan Wake
    -Assassins Creed 2
    -Grand Theft Auto IV
    -Gears of War (very temperamental with any root modifications)


    Will test the rest and post logs tomorrow.

    Cheers.
     
    Last edited: Sep 3, 2012
  12. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    If the framerate goes down in Pro Evolution Soccer 2012 when SweetFX and you can see it go up again when pressing Scroll lock to turn it off, then SweetFX is running, but you don't see the results.

    This is usually a problem with the way the game implements anti-aliasing.
    Try turning anti-aliasing off in the game and see if it helps.
    And also post the log.log file for Pro Evolution Soccer 2012.
     
  13. 102030

    102030 New Member

    Messages:
    1
    Likes Received:
    0
    GPU:
    GTX 680
    error starting battlefiled 3.

    log:

    full path: D:\Games\Battlefield 3\
    redirecting CreateDXGIFactory
    redirecting CreateDXGIFactory
    redirecting CreateDXGIFactory1
    redirecting D3D11CreateDeviceAndSwapChain
    redirecting IDXGIFactory1->CreateSwapChain
    initialising shader environment
    D3DX11CompileFromFile failed
    SweetFX/Shaders/Main.h(16,21): warning X1519: 's0' : macro redefinition
    SweetFX/Shaders/Main.h(17,21): warning X1519: 's1' : macro redefinition
    SweetFX\Shaders\LumaSharpen.h(37,31): error X3004: undeclared identifier 'colorTexG'
     
  14. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Hmm I don't have those games installed so I can't help you - not without logs anyways.
    Some months back I did play Assassin's Creed: Brotherhood and Assassin's Creed: Revelations with my seperate LumaSharpen mod and they worked fine. If they worked with LumaSharpen then they should work with SweetFX too.
    I have not tried Assassin's Creed 2 with a shader mod though.

    Gears of Wars is a Unreal 3 engine game if I recall correct and they usually have a bin32 or binaries (or something like that) directory that you need to install SweetFX to.
     
  15. Caleb171

    Caleb171 Member

    Messages:
    18
    Likes Received:
    0
    GPU:
    Sapphire 7950 @1200/1600
    Assassin's Creed II is working fine here (default settings plus 0,20 smaa threshold and using vibrance) Gears of War never worked with any kind of non original dll. It gives the error: "d3d9.dll: You cannot run the game with modified executable code. Please reinstall the game". Just delete the SweetFX and the game works fine again.
     

  16. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    You're using SweetFX 1.1.
    Update to SweetFX 1.1.1
     
  17. pipes

    pipes Member Guru

    Messages:
    176
    Likes Received:
    0
    GPU:
    gtx 1080 ti oc lab
    The framerate go down when work with Fifa 2012.
    With pro evolution soccer 2012 crash when launch executable of the game
     
  18. Adeks

    Adeks Member

    Messages:
    30
    Likes Received:
    0
    GPU:
    670GTX GIGABYTE OC
    Great work CeeJay.dk !! But i have question for You.. What for is in Main.h this code

    Code:
       /*-----------------------------------------------------------.   
      /                 Defining constants                          /
      '-----------------------------------------------------------*/
    #ifndef BUFFER_RCP_WIDTH
    [B]  #define BUFFER_RCP_WIDTH (1.0 / 1680)
      #define BUFFER_RCP_HEIGHT (1.0 / 1050)
      #define BUFFER_WIDTH 1680
      #define BUFFER_HEIGHT 1050[/B]
    #endif
    
    #define screen_size float2(BUFFER_WIDTH,BUFFER_HEIGHT)
    
    #define px BUFFER_RCP_WIDTH
    #define py BUFFER_RCP_HEIGHT
    I must put my resolution or what ??:)
     
  19. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    No, as a user you don't have to edit any files in the SweetFX/Shaders/ subdirectory. I have only meant for normal users to edit SweetFX_preset.txt , SweetFX_settings.txt and injector.ini

    But if you're curious to what that code does I'll explain:

    When the injector runs it defines some values depending on your screen resolution.

    These values are :
    BUFFER_WIDTH = The width of the screen resolution you are rendering at
    BUFFER_HEIGHT = The height of the screen resolution you are rendering at
    BUFFER_RCP_WIDTH = (1.0 / screen width) - This is the width of a single pixel in texture coordinates
    BUFFER_RCP_HEIGHT = (1.0 / screen height) - This is the height of a single pixel in texture coordinates

    The shaders depend on these values being defined, however when I do debugging and profiling with AMDs GPU Shaderanalyzer those values are not defined because the injector did not run and so the shaders cannot compile.
    Therefore I check with #ifndef ( if not defined ) if BUFFER_RCP_WIDTH is not defined and if it isn't then I define all the values to match a common screensize like 1680x1050 so that GPU Shaderanalyzer can compile and analyze the shaders.

    To sum up - I use this code to support GPU Shaderanalyzer - it has no other function.
     
    Last edited: Sep 5, 2012
  20. BetA

    BetA Ancient Guru

    Messages:
    4,348
    Likes Received:
    296
    GPU:
    G1-GTX980@1400Mhz
    BF3 crashes with sweet fx 1.1.1

    log says there snothing really..but bf3 exe crashes to desktop, encountered error bla bla..nothing more..log here:
    with out sweetfx, all is ok and no crash at all..

    but it really made a diff, bf3 looked awesome..i want this to work :) haha..

    anyway, hope u can fix that, if u need any more info let me know :)

    edit:

    error log form bf3.
     
    Last edited: Sep 4, 2012

Share This Page