SweetFX Shader Suite release and discussion thread #4

Discussion in 'Games, Gaming & Game-demos' started by CeeJay.dk, Sep 30, 2013.

Thread Status:
Not open for further replies.
  1. Lancegrim

    Lancegrim Active Member

    Messages:
    80
    Likes Received:
    0
    GPU:
    Geforce GTX 760 / 2 GB
    I am not on Windows 8, but on 7. I had the problem that no Version worked for me until i tried the one from Squall. (cant post links, yet :D)

    That works perfektly for me, finaly. Give it a try.
     
  2. srps

    srps Active Member

    Messages:
    50
    Likes Received:
    0
    GPU:
    MSI GTX1060 6GT OCV1
    Is there any current package that works well with Diablo 3: RoS? Can't really find much info on this.
     
  3. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Not yet, but the development versions of Reshade can currently run with a number of OpenGL games - there are still issues to work out but work on it seems to be progressing nicely.

    I think it's impossible to make a generic temporal SMAA solution that can be injected, because that would require the game to calculate velocity vectors for the 3D objects in the scene and make this information available to the injector - which obviously no game does.
    Even if you tailored the injector to a specific game like the ENB series does, then it's a hard thing to accomplish.

    It may be possible to add SMAA S2x in a generic way by enabling multisampling (MSAA 2x) in the game, and then grab both multisample buffers, do SMAA 1x on both and then blend the two results.
    It's not scheduled for the initial release of ReShade but after the initial release there might be time to look into some of the more advanced and awesome ideas, like this.

    If it works then it might also be possible to do SMAA S4x in a similar way.
     
  4. tony971

    tony971 New Member

    Messages:
    2
    Likes Received:
    0
    GPU:
    Nvidia GTX 660 2GB
    So when is ReShade going to get its own thread? :grin:
     

  5. Blue_Ninja0

    Blue_Ninja0 Member

    Messages:
    10
    Likes Received:
    0
    GPU:
    DDR3 8GB 1600Mhz
    That's really a shame :( I mean, the SMAA S4x idea sounds very promising, but sometimes shimmering bothers me more than jaggies.
    Do you know of any other general solution for reducing shimmering in games? In my case, BF4 looks horrible in motion. Not even the built-in SSAA seems to solve it completely, and it's computationally extremely expensive.

    Anyway, great job on ReShade! Hope you guys can get ir ready soon. :)
     
  6. Bobert13

    Bobert13 Member

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    I'll need to do some digging and refresh my memory on SMAA's combine pass but from what I recall Temporal supersampling itself does not require a velocity buffer. It's the anti-ghosting feature available in SMAA that needs this information. Depending on the rate at which objects are moving accrossed your screen versus your frame rate, anti ghosting may not even be necessary. Additionally, a modified motion blur shader should be useable as a velocity buffer for SMAA's purposes as all it needs velocity information for is to determine when to discard a pixel from the previous frame in favor of the current frame to prevent a ghosted image (basically, what pixels to not apply Temporal Supersampling on at all).

    I'm glad to hear that Crosire is making progress, and I really, really hope some of my feature requests for eFX have made it into ReShade. It's also nice to hear that you think you may be able to get the multisampling data out of at least some games to pass each sample to SMAA for S2X. I'm still tinkering with the Lab colorspace and interpolated downsampling (though outputting at 2x/3x/4x wouldn't work even if I could figure out how with my latest iterations as they're theoretically interpolating a line at the nth degree of upsampling). Hopefully we see a release before too long as it'd be really nice to have a new injector to work with.
     
  7. kx11

    kx11 Ancient Guru

    Messages:
    3,326
    Likes Received:
    407
    GPU:
    RTX 3090
    tried latest version with Ryse and it turns everything to solid grey color , nothing is visible but the hud
     
  8. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Well I guess you could do that, but there is still the problem of moving the samples slightly for each frame.

    For S2x MSAA can do this, but how would you do this for temporal?
     
  9. logout20

    logout20 Member

    Messages:
    22
    Likes Received:
    0
    GPU:
    Amd radeon 7470m/1Gb
    is it possible to implement something like 3d analyser to increase performance on a low end hardware at the cost of visuals..
     
  10. Darko76

    Darko76 Member

    Messages:
    20
    Likes Received:
    0
    GPU:
    ati radeon 6870
    Sweetfx works with Alien Insolation?
     

  11. Zomgerd

    Zomgerd Master Guru

    Messages:
    304
    Likes Received:
    0
    GPU:
    Asus R9 280X DC2T
    Judging from the fact that I've seen presets for it, yes it does. However you need to use boulotaur's injector because you need the 64bit dll.
     
  12. Bobert13

    Bobert13 Member

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    Quoted from SMAA.h:
    "The first step is to render using subpixel jitters... it's as simple as moving each vertex position in the vertex shader."

    You just add a tiny offset to the vertex positions that alternates each frame. This is why I requested Crosire to add a boolean flag for even/odd or a frame counter that gets passed to the shader from the injector. There's no way to achieve alternating per frame functionality in HLSL alone. We even went as far as to discuss him including a user configurable script which compiles at runtime and would allow per frame functionality. This would ideally have access to all necessary data about the current frame and would allow complex things such as calculating whole screen exposure and then passing that to HLSL; allowing us (the user) to port Boulotaur's Gaussian Blur shader to the new injector with no need to see nor touch the source code.
     
    Last edited: Oct 11, 2014
  13. TonyTurbo

    TonyTurbo Master Guru

    Messages:
    233
    Likes Received:
    16
    GPU:
    Vega 64 @ 1750/1180
    Guys, something has bugged me for a while using Sweetfx 1.51 (Baulotaurs2024+Ceejay) version for Windows 8.1.

    I've been using Sweetfx since the very beginning, moved to Windows 8.1 and had a few rough periods trying getting things working through RadeonPro and issues with MSI Afterburner or other overlays stopping SweetFX working. But the last few months have been plane sailing.

    I do have a strange issue on some games though. I have the Baulotaur2024+Ceejay 151 version as my default files in RadeonPro, I import each preset through that program for each games .exe. Now what happens is, on some games when I turn SweetFX on, the screen goes incredibly dark, very very dark. It happens in Divinity Original Sin, Borderlands 2, The Forest to name a few and here's a sample pic of this.

    [​IMG]

    [​IMG]

    whats the reason for this you pros?
     
  14. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    724
    Likes Received:
    97
    GPU:
    5700 XT Gaming X UV
    Anyone know a method to get SMAA working in BF4/Garden Warfare on Windows 8.1 without killing Origin Overlay function?
     
  15. TonyTurbo

    TonyTurbo Master Guru

    Messages:
    233
    Likes Received:
    16
    GPU:
    Vega 64 @ 1750/1180
    You sir are bloody awesome. tyvm
     

  16. PandaSushi

    PandaSushi Member

    Messages:
    39
    Likes Received:
    0
    GPU:
    GTX 780
    Not possible,origin overlay has to be disabled with all methods of applying smaa.
     
  17. kaemon

    kaemon New Member

    Messages:
    2
    Likes Received:
    0
    GPU:
    R9 280x
    Hi, i enjoy using Sweetfx. Does anyone know how to make the Sepia filter apply every other frame? I wish to make every other frame black. In order to get a similar effect as Lightboost and Benq Blur Reduction.

    I have a 144hz monitor and am aware that this will create more input lagg. I belive that this will make it as smooth as FORIS FG2421 runing at 120hz instead of it's normal 240hz mode. It would be perfect for my casual gaming needs. I believe that this would be a lot easier to implement compared to black frame insertion.
     
    Last edited: Oct 12, 2014
  18. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    To do this a frame counter is needed.
    InjectSMAA does not provide one, but it's on the wish list for Crosires ReShade.

    Development on that is progressing nicely.

    Once you have a frame counter it is a very easy effect to make - you just check if the framenumber is odd and color the screen black if it is.
     
  19. joaokmo

    joaokmo New Member

    Messages:
    1
    Likes Received:
    0
    GPU:
    AMD R7 265
    Hallo! A version will be coming out before the end of the year, @CeeJay.dk? Thank you, your work is appreciated, well done!
     
  20. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    (This post is outdated - I have posted a newer progress report here)

    ReShade (the new hook that Crosire have been working hard on - and I've been helping with) is now from today in closed beta.

    Beta means that all the features that were planned for the initial release is now implemented - what remains is bugfixing and polish.
    Closed means that the public will not (yet) be receiving any betas to test .. only selected beta testers.

    Here is the current list of features implemented or not :

    Done:
    -----
    - Support Windows Vista, 7, 8, 8.1+
    - Support 32 and 64 bit
    - Support DX 8 (WIP), 9, 10, 10.1, 11, 11.1, 11.2 and OpenGL (WIP)
    - Solve the problems with NVIDIA Optimus
    - Hook dynamically and only the APIs the application uses
    - Support multiple render targets
    - Support true multiple passes with rendertarget output
    - Support multiple techniques for rendering
    - Bind no vertexbuffer and let the shaders generate vertices via id
    - Declare custom textures and their properties in the shader code
    - Ability to set the size of these buffers (images are stretched automatically)
    - Be intelligent about paths, everything is seen relative to the injector
    - Protect user privacy by obfuscating paths before writing them to the log
    - Clear rendertargets before shaders modify them
    - Save screenshots as PNG images
    - Include the application name and current date in each screenshot filename (e.g. Borderlands2 (2013-06-21 20.48.10).png)
    - Predefined macro "__RENDERER__" telling which renderer is used (0xD3D9, 0xD3D10, 0xD3D11 or 0x061)
    - Predefined macro "__VENDOR__" and "__DEVICE__" which expose the vendor id and GPU device id rendering is performed on
    - Use shader annotations to use features and set options of the injector:
    On uniforms:
    frametime | time in milliseconds it took for the last frame to complete
    framecount | total amount of frames since the game started
    date | float4(year, month (1 - 12), day of month (1 - 31), time in seconds after midnight)
    timer | high precision timer counting in milliseconds
    timeleft | time in milliseconds left until the technique timeout is reached
    key | boolean set to true if the specified key is pressed and false otherwise
    On techniques:
    enabled | boolean setting wether to use this technique for rendering by default
    toggle | keycode for the key used to toggle this technique on or off
    toggletime | time in seconds after midnight at which this technique should be toggled
    timeout | time in milliseconds after which this technique is toggled off again (i.e. for generating textures from shader code, by running the shader once at start)

    Wishlist:
    ---------

    Nice to have:
    - Fallback to Sweet.fx and Reshade.fx if API_NAME.fx cannot be found
    - Option to specify a static screenshot save location
    - Name that doesn't conflict with other apps like the Reshade program (http://reshade.com)

    Future:
    - API so games can communicate with ReShade
    - Add an OpenGL renderer for OpenGL 2 (or 3, but more cards support 2)
    - Load another proxy dll after Reshade so you can chain HiAlgo, ENB, Reshade and Perception (http://www.******.com/) and others
    - Output to other resolutions (HiAlgo have experience here) - GeDoSaTo can also override the rendering resolution - people love this feature
    - Depth texture support - Note. We will probably have to restrict access to this to prevent people writing effects that can be used to cheat
    - Possibly pass generated GLSL shaders to GLSL optimizer before compiling (or implement own optimizer for all)
    - Work with stereoscopic 3D. Some Stereoscopic modes uses 2 backbuffers a left and a right
    - Ability to combine different image files into one custom texture for memory and performance reasons
    - Ability to trigger functions using a key combo, not just one key
    - Ability to change shader settings in-game, or at least change between presets
    - Ability to upload preset to an online database and download and quickly swap between other popular presets for the game you are currently playing
    - Possibility to have freesized backbuffer/depthbuffer textures (image is stretched before copied there)
    - Ability to read from previous output buffers (temporal SMAA *might* be done if I had access to the two previous frames we created - also it allows for LDR eye adaptation)
    - Allow array initialization
    - Windows 10 support (Should work already - it's just untested)

    - Linux support (should be possible to hook the OpenGl calls via "dlsym" there)
    - DX12 support (Not released and no SDK available yet)
    - OpenGL Next support (Not released and no SDK available yet)
    - Mantle support (No SDK available yet)
    - WinXP support (by then WinXP will likely be completely irrelevant)
    - Record audio from stereo and find a way to display on screen to give visual clues to the deaf
    - Save SweetFX settings in the image as metadata (nice to have but not important)
    - Force 10bit (per channel) output from the game - if possible it would eliminate banding problems. (Seems problematic to find a generic way to do that works with all games)

    I can't say when exactly it will be out, but yes I hope it will be out before the end of the year.
     
    Last edited: Nov 21, 2014
Thread Status:
Not open for further replies.

Share This Page