Wednesday 23 July 2014

Very Loooong Day

Blogging late at night as my work run on and on this evening. Created two builds today for testing, and getting very close to a final V1.008 beta. Just needs a bit of quality testing we should be ready for release!  That said, it's well past midnight and as you know my ritual of getting up to do a normal 9 to 5 means it's way past the mark, so I will keep this blog brief and hopefully provide some nice visual shots on Thursday when I have more time to test the build and smell the roses.

I did some research into HBAO (an improvement over SSAO) but could not find any DirectX9 or Pixel Shader 3.0 source code to help me get it implemented. If anyone can locate this code, I would be most grateful!  If you find a technique that relies on DX11 or deferred rendering, then I cannot use it but you can dig out a nice HLSL shader file and accompanying source code that works with DirectX 9.0 I will be very happy.  Still doing the pre-bake but for users with higher end graphics systems, having instant ambient occlusion as a real-time shader (as heavy as it is) might appeal.

Won't bore you with the tweaks done today, but two big ones involve new IDE code which prevents the FPSC-MapEditor.exe code from launching multiple times and Simon managed to reduce the GPU video memory hit by around 400MB which was an amazing saving, and we suspect there can be more to save if we dig deeper!

For now, going to finish this uploading and catch some Z's!

8 comments:

  1. Just wanted to provide a couple of interesting links regarding in-game editing and lighting. One is a reasonably oldish engine called Cube2:

    http://sauerbraten.org/

    And the other is a reworking of the engine using very impressive realtime lighting:

    http://tesseract.gg/

    I have no idea really about anything on the subject but hopefully you might get some use out of these links. Having something along these lines within the Construction Kit could be quite useful. =)

    ReplyDelete
    Replies
    1. It's awesome that I'm not the only one around here that knows about Sauerbraten, but it's unlikely Lee will be able to learn anything useful from Cube and Cube 2. It'd be amazing to have Cube-style world editing, but it work take at least a year of dev to add and would be difficult to add in a useful way.

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Hi Lee, I did some research on ambient occlusion techniques, and read about a new form called Scalable Ambient Obscurance (SAO). Apparently, it claims to give higher quality results than either SSAO or HBAO, but with much less performance cost!
    Here's a link to a paper describing it:
    http://graphics.cs.williams.edu/papers/SAOHPG12/McGuire12SAO.pdf
    Unfortunately, it's all way over my head, so I can't say for sure if implementing it in DX9 would be possible, but thought it might be an interesting read :)
    Keep up the awesome work!

    ReplyDelete
  4. Sorry for the double-post, Blogger really needs an edit function!
    Another official-looking page on SAO with a DirectX example (DX11 unfortunately :/)

    ReplyDelete
  5. Make that a triple post, because I forgot to add the link before posting x(
    http://graphics.cs.williams.edu/papers/SAOHPG12/

    ReplyDelete
  6. Wow! The 400MB saving sounds fantastic. I know I can use any extra bit of memory we can get. And thanks to the team for fixing up that double editor exe issue. I know Dave is still trying to resolve one more editor issue for me so I hope that is accomplished today. 1.008 is turning out really, really good.

    ReplyDelete
    Replies
    1. Indeed it does! 400MB is a lot to be using accidentally (or just with badly designed code, for that matter).

      Delete