Wednesday 1 October 2014

C64 Tunes Heaven

Discovered my liking for old C64 SID music again, and been playing them in loops on YouTube :)  Very retro and food for my 8-bit brain!  Today has been a mixed bag of work which included some email sorting but mainly focusing on reducing the overhead from the shadow system. As you know my pre-bake is now assuming responsibility for all static shadows so that means I don't need the real-time shadow maker from doing quite so much work, so today has been about reducing that workload until the shadow slider is really just responsible for controlling the pre-bake shadow intensity.  Once I have reached that goal, I can add in the PREBAKE vs REALTIME slider panel drop-down and re-instate the real-time shadow system for those that want it.

A shot of my shadow test prototype without pre-bake

A shot of my shadow test prototype with pre-bake

The above is the level I am using to conduct my shadow testing, that is, one building on the landscape with some barrels and crates.  Nice and quick to load and easy to confirm the existence of shadows and check frame rate.


Here is another shot I took during the call at 4PM, and a suggestion of things to come with the new pre-bake step in the software.  Nice how the light catches the barrel and stretches into the tent.  Once we have interior static lights from lanterns, candles and perhaps a small fire, it should be awesome!

Have another 20 minutes or so to bash the shadow render from it's current 11% down to 1% (after all it's just one building on a simple render target).  I commented out the offending function highlighted by VTUNE and it went from 180fps to 220fps with no visual difference so I need to make a saving here before moving on.

You would think with the progress made my list is being demolished, but every day I have new ideas and thoughts about performance improvements, and add to the list. It's as long as it was when I started, but at least the engine is better for it and hopefully I can make up a day or two as I start to work on the original items such as static batching of lightmapped geometry and finding out why fonts are taking 64MB of video memory and 50MB of system memory :)

11 comments:

  1. Guys its official we can now have shaddow puppets!!

    ReplyDelete
  2. i think you maywell be owed a guiness after those pictures lee m8 :) looking better indeed..

    ReplyDelete
  3. The difference to what we have now to that last image is just great cant wait.

    ReplyDelete
  4. Careful with that AO lee. I'm expecting that it is cranked up so high to test it, but the level you have it at now is far too much.

    ReplyDelete
  5. Yes I cranked it up to 'insane' so I knew it was there during testing. It will be on a slider as part of the pre-bake config at some point, but you can see what the technique is bringing to the party. I am also leaving the door open for real-time AO as well, but want to focus on the pre-bake first as more users will benefit from it, especially on integrated and older graphics cards.

    ReplyDelete
  6. Looks world better. How do flashlights function on the shadows? Do they illuminate properly or does it just disappear like the current system?

    ReplyDelete
  7. Awesome, Lee. And I'm with you on the C64 sentiments. That's the computer I really learned to program on. I actually still have 2 C64s and all my old programs on floppy disks.

    ReplyDelete
  8. Nice looking screen shots there. Certainly looking nice so far.

    ReplyDelete
  9. Agree with Huknar, but I understand it'll be adjustable so no worries :)

    The issue concerning me right now is the lack of AO on the terrain. I couldn't work out why the tent didn't look right until I noticed it didn't have AO at its base. If you're gonna go to all the trouble of AO then make sure the terrain can handle it as well. AO is necessary to ground the tent and barrels visually.

    ReplyDelete
  10. hello Lee, since Sid music is my passion too i would suggest a site to you: http://www.hvsc.c64.org/ The complete sid collection of the world, still updating once or twice per year.. happy listening :)

    ReplyDelete