GeDoSaTo shader development features, Dark Souls 2 SSAO improvements

I just pushed an update to GeDoSaTo which makes it significantly easier to work on shaders and effects (i.e. downsampling, SSAO, postprocessing). It’s now possible to bind a key for reloading shaders. The magic thing however, and what really saves time, is that if loading the new shader fails the old one will continue to be used instead, and the error will be reported:

screenshot_2014-08-23_14-58-34_0This really saves a lot of time restarting games. My workflow is now to have the game running in a window in the corner of the screen, and have Visual Studio take up the other half. This way, I can make changes to the shader and see the result in-game in about 3 seconds. It’s not a GUI, but it’s much more flexible and almost as fast in terms of iteration.

To prove the claim that this makes shader development much easier, I set out to improve GeDoSaTo’s SSAO. While better than the built-in monstrosity, this was never really high quality, particularly considering its performance impact. Well, it’s a whole lot better now:

_prev _curThat’s the old version on top and the new one in the bottom. Look in particular at the detail in the distance, the lack of pixelation on the grass, the much better definition on objects like the staircase and the lack of polygonal artifacts on the floor.

Now, you might ask “But Durante, the AO was already really heavy, can I really afford to run the new version performance-wise?”. The answer is yes, absolutely. For the result shown above, the previous version took around 9 ms of GPU time on my 770. The new one takes 4.8 ms.  If you’re keeping track, that’s almost twice as fast as previously. While also looking better, and sporting fewer artifacts.

You can get the new version right now with the updater.

Oh, one more thing. Since someone asked in a donation message: yes, I do read all the donation messages :P

14 thoughts on “GeDoSaTo shader development features, Dark Souls 2 SSAO improvements

  1. updater should ask before overwriting .ini files. have to redo main settings and most game specific settings EVERY time

  2. Durante, Kaspersky said gedosato was a trojan: http://i.imgur.com/gkrMJ3X.jpg

    False positive?

  3. I can not get GeDoSaTo to work at all with Dark Souls 2 now with the recent update.

    It seemed it loaded a texture (Custom fonts), but I wasn’t able to see any other texture, plus the keypad did nothing.

    I already tried making my own user configs for keybinds and game settings etc.

    Still nothing.

  4. would love to still have the DSfix-type auto save backup feature for Dark Souls 2. I still get game crash every time I try alt-tabbing out to save folder to update my backup saves.

  5. This is weird, the effects seems to be working for me now, but the post processing and anti aliasing doesn’t seem to work at all, and I can’t disable/enable anything with the numpad anymore.

    • My bad, I read the keybinding-ini more carefully and realized I had to create my own with the keybindings that I’d like. It all works just fine now :)

  6. So what are the exact settings to use in the Dark Souls 2 in-game video options when running this? I enabled In-game aliasing but what else?

    • That option just affects the blur type, this is about how the AO is generated. So yes.
      But this question does remind me that I haven’t tested the sharp blur type with the new AO.

      • Sharp looks really good now. Sharp used to have a very thin line between the model and when the SSAO “shadow” started but now that’s gone.

        That being said, I prefer using the “low” setting now as the new SSAO with sharp kind of makes it stand out a bit too much. It reminds me sort of like the SSAO of Far Cry 3 which looks great overall but it does give that slightly “cartoony” look to close up models.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">