SweetFX Shader Suite release and discussion thread #3

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

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

    Sanarhi New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    AMD Radeon HD 6870 1 GB
    Tried with minecraft. Didn't work
     
  2. bluesrainy

    bluesrainy New Member

    Messages:
    3
    Likes Received:
    0
    GPU:
    amd hd 4850
    hi guys, i need some help
    i use sweetfx to play world of warcraft and mass effect3 for a long time, it worked well.
    but yesterday, i reinstalled my system (windows 7 x64), then all games can't start with sweetfx, i already installed lastest directx9.
    so is there anyone konw what's going on?
     
  3. Sanarhi

    Sanarhi New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    AMD Radeon HD 6870 1 GB
    Not to sound smarty and all, but did you install directx with the web setup (dxwebsetup.exe). If not, you can download it here http://www.microsoft.com/en-us/download/details.aspx?id=35
     
  4. johnchaser

    johnchaser Member

    Messages:
    18
    Likes Received:
    0
    GPU:
    780
    No, W7 x64 with updates. Today i hope to find why is this happening with the help of advices from some people.

    PS 1 more question: can the power of effects depends on using of downsampling??? Just realized that i've never mention that i using downsampling. Sorry for that.
     
    Last edited: May 5, 2013

  5. r3dfield

    r3dfield Active Member

    Messages:
    57
    Likes Received:
    0
    GPU:
    GTX980 OC@1541Mhz/4001Mhz
    Yes. Sharpening for example. If I adjust my settings for 1920*1080 and then select a DS resolution of maybe 2880*1620, I have to raise the sharpening strength significantly to get the same visual result.
     
  6. bluesrainy

    bluesrainy New Member

    Messages:
    3
    Likes Received:
    0
    GPU:
    amd hd 4850
    yes i installed that dxwebsetup.exe, and it said i have a newer directx already, so my directx is lastest, right?


    [​IMG]
     
  7. johnchaser

    johnchaser Member

    Messages:
    18
    Likes Received:
    0
    GPU:
    780
    r3dfield Thanx for reply, but the main question is about the other effects, not just sharpen. I mean gamma, colors etc..
    For example i don't see a huge difference between "original" and "sweetfx" image when i using new injector with the same settings as with 1.4 release. That's what i'm talking about.
    It's not a problem, it's just another return for tuning the settings. It's not bad, it's just a difference.
    BTW no offence to SweetFX creators/makers from me - you are doing a great job, thanx!
     
  8. master2k8

    master2k8 Active Member

    Messages:
    63
    Likes Received:
    0
    GPU:
    7950 1.1 Ghz Edition
    the results (this depth you call .. == more edges) look interesting it is maybe usable to get a better edge detection i use in my sharpen shader with relativ low cost on performance
    ill try to implement that :)

    thx for that post m2k
     
  9. Boulotaur2024

    Boulotaur2024 Member Guru

    Messages:
    142
    Likes Received:
    0
    GPU:
    AMD HD7950
    You were right that was a good idea !

    These below are better viewed flipping through them in your regular image viewer

    Vanilla SweetFX 1.4
    New Injector Sharpening AFTER SMAA
    New Injector Sharpening BEFORE SMAA

    Last picture should be the best (look at the curtains), it does seem to help SMAA catch more edges as they're emphasized by sharpening and as result do a better job at antialiasing while keeping the edges less "harsh" (smoother)
    I updated the original post if people want to experiment with it. (Sharpen is at an exaggerated 1.0 strength but it should show the improvement over vanilla SweetFX)

    *sigh* thats weird, I'll be testing again Skyrim, Tomb Raider, all the games you said you're having issues with in your PM. It seems all of them are DX9 except Bioshock Infinite, right ? Weird it's the first time people report a difference in visuals in DX11... Thanks for the report anyway, glad people care, sometimes I err... get bored doing this all the time :D
     
    Last edited: May 5, 2013
  10. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    Yes.
     

  11. CeeJay.dk

    CeeJay.dk Master Guru

    Messages:
    689
    Likes Received:
    8
    GPU:
    Radeon 6870
    It looks like you've made the sharpen convolution kernel into a form of emboss kernel, that you overlay with the original creating a form of fake bumpmapping.

    I've consider making something like this before, but have discarded the idea because I thought it would look terrible. It's actually doesn't look half-bad. It doesn't look great either, as it obviously makes the image look more aliased and noisy just as the cartoon effect has a tendency to do, but I think it has potential.

    Try using a bigger and smoother(blurrier) kernel - that might help with the aliasing/noise problem. I've been considering doing something similar with the cartoon shader once I got around to it , as I'm currently working on some big quality improvements to ordered dithering and a lot of minor and a few larger performance improvements to a lot of the effects.

    Maybe something like float3 blur_ori = myTex2D(s0, tex - float2(px, py) * * offset_bias).rgb;

    where offset_bias is around 0.5 to 1.5 (my guess).
    Play around with it until you find something that still has a good effect, but has fewer problematic artifacts.
    Note that moving the sampling point around like this obviously modifies the strength of the effect but you can always adjust sharp_strength to compensate.

    Some other notes :
    Code:
    sharp /= sqrt(sharp);
    When you divide a number by it's square root you get it's square root as a result - which you already knew so that's a bit silly.

    You would get the same result with
    Code:
    sharp = sqrt(sharp);
    BTW Wolfram Alpha can be a great tool for reducing and plotting your function:
    http://www.wolframalpha.com/input/?i=x+/+sqrt(x)

    It also figures out that x / sqrt(x) can be reduced to sqrt(x). I use it mainly for reducing formulas and suggesting me alternate forms (sometimes I can optimize the formula to run faster by stating it differently)

    Finding a good way to control and limit the strength of the effect is also very important to getting the best quality.
    Making an effect is often easy, but finding out the right strength and where to apply it is harder and makes a big difference.

    I'm not certain a sqrt(x) function is the best way to do that. I think a function that curves the down instead of up might be better, so you get less effect on areas with no or faint edges and get more effect on strong edges.
    I would probably try a power function first.
    Maybe something simple like:

    Code:
    sharp = pow(sharp,2.0);
    or
    Code:
    sharp = pow(sharp,4.0);
    ..

    Later in the code you use:
    Code:
    sharp.rgbr / 3.14
    That / 3.14 here is just another strength modifier. You might be able to roll it into sharp_strength or at least create a new user definable setting for it.
     
  12. master2k8

    master2k8 Active Member

    Messages:
    63
    Likes Received:
    0
    GPU:
    7950 1.1 Ghz Edition
    @ceejay.dk : is there a way to make my own coded shader (latest) version combine with your Lumasharpen shader... ive a strange feeling together it works like a charme if my theory is right doing your sharpen as first pass, (with low strenght) since your shader does no edge detection it would act just like a helper for edge detections... and if that pass is done i apply my latest shader http://jeschke-software.at/dls/lumasharpen.h but i have exactly NO idea how to bind in my shader as seperate shader and make both work together any hints?

    my idea is that: your shader strenghten just the edges applying sharpen in less way all over since it does not detect any edges, and my shader sharpen the edges after your shader acting as helper shader to get the edges. (makes sense to me at least) i'm sorry i just can actually write theoretical stuff because i'm sitting on old hardware still 2 weeks because i'm not at home and cant try anything.

    (im just looking for things to make more better... it is already working very good ive to say) (tested with WoW) ... but better is ever better :)) m2k


    btw. i optimized everything like you said , but the if cases are still there and they are required to detect the edges

    best regards

    m2k
     
    Last edited: May 5, 2013
  13. johnchaser

    johnchaser Member

    Messages:
    18
    Likes Received:
    0
    GPU:
    780
    Okay, i understand...If i causing problems i will never bother you again.
    Keep up the good work! Good luck!
     
  14. Boulotaur2024

    Boulotaur2024 Member Guru

    Messages:
    142
    Likes Received:
    0
    GPU:
    AMD HD7950
    No I meant I get bored testing games all the times with different configs/builds, not that I got bored reading people reporting issues. On the contrary I'm glad people do :)

    Several people have reported the fact that effects "got weakened" using the new injector compared to vanilla SweetFX, unfortunately I'm currently completely unable to reproduce the issue on my machine (Win Seven x64) and I already tested/compared Tomb Raider, Skyrim, Dead Space etc... using Ninjafada's image viewer without noticing differences... so far.
     
  15. Sanarhi

    Sanarhi New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    AMD Radeon HD 6870 1 GB
    Thanks for looking in this topic, I really think it can bring another level of realism (apart from the aliasing) to the textures, without much performance loss.

    I do tend to work with local values for testing till I get some defaults, will turn them into user-configurable ones after i get the desired effect with the established defaults.

    Well, this is the interesting part. Your reaction was much expected, since anyone with (at least) high-school level math knows that. The wrong part, is that we don't operate on a single variable, but on a vector. As you recall sharp is defined as float3 (r,g,b), and if you use wolfram alpha (I use Wolfram Mathematica, as it allows for code-based calculations) to compute
    Code:
    (r,g,b)/sqrt(r,g,b)
    you will notice the vector length version, which is why
    Code:
    sharp/=sqrt(sharp) != sharp=sqrt(sharp).
    You can also test it in-game, to see the difference.

    I agree completely! Still playing around with the numbers, since there are lot of variables as different games use different texture resolutions, LODs etc.


    I just put that there, since I excluded all the user-configurable variables and because i do believe Pi is a magic number for division :)
     

  16. TCPIP

    TCPIP Active Member

    Messages:
    67
    Likes Received:
    0
    GPU:
    AMD Radeon R9 290
    Didn't have the problem with the effects being
    Actually, as i said earlier, I had to lower the values for the TVLevels shader in order to make the results look like the vanilla 1.4, as they were too pronounced.

    Maybe it's the low settings problem, like 1.05 gamma looks less pronounced than vanilla, whereas 1.2 looks the same, that kind of thing?
     
  17. OrdinaryOregano

    OrdinaryOregano Master Guru

    Messages:
    433
    Likes Received:
    5
    GPU:
    MSI 1080 Gaming X
    Yes sir.

    Wait so we can't turn it off 100% right now? 0_o
     
  18. ninjafada

    ninjafada Master Guru

    Messages:
    308
    Likes Received:
    0
    GPU:
    pny 670
    you can't because it's doing some conversion
    you can put 0.2 0 0 to reduces the inpact on perf if you don't want smaa effect
    or test with fxaa

    the only change in power of effect i have is when i put smaa and fxaa 0
    the image is darker
    but i always use smaa or fxaa so not a prob :p

    on ffxiv arr bench sweetx cost less than 1fps :banana:
     
  19. OrdinaryOregano

    OrdinaryOregano Master Guru

    Messages:
    433
    Likes Received:
    5
    GPU:
    MSI 1080 Gaming X
    So what's the #define USE_SMAA_ANTIALIASING 0 for?
     
  20. ninjafada

    ninjafada Master Guru

    Messages:
    308
    Likes Received:
    0
    GPU:
    pny 670
    not apply smaa but it still execute some code

    to have a complete remove of smaa you need to remove some others fonctions
    but it can make others shaders stop working

    i didn't try because i always use smaa or fxaa
     
Thread Status:
Not open for further replies.

Share This Page