Search Unity

Fully Dynamic Diffuse Global Illumination

Discussion in 'Works In Progress' started by sonicether, Mar 29, 2015.

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

    Pecek

    Joined:
    May 27, 2013
    Posts:
    127
    low@66, medium@27, high@25, ultra@22. Might worth mentioning if I change the settings a few times the fps drops like crazy(on medium or above, I only got 4FPS, on low around 60).
    FX8300, GTX660, 16Gb. 1080p.

    Not so bad considering the age and tier of this card.
     
    RB_lashman likes this.
  2. macdude2

    macdude2

    Joined:
    Sep 22, 2010
    Posts:
    685
    Holy Freaking Smokes Sonic Ether! Literally, this is without a doubt the coolest thing I've seen in computer graphics in quite some time! The possibilities this presents for creating absolutely beautiful procedural levels..., for instantaneously getting a light map approximation... very, very excited about this! And how fast it runs! I've got a wimpy macbook pro and I still get 30fps on preset 1. Nice job, good luck with the release!
     
    Slaghton, TooManySugar and RB_lashman like this.
  3. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Thanks so much for the demo sonicether!
    My laptop hardware:
    GeForce GTX 860M
    16 GB RAM
    Core i7-4702HQ Quad core


    1 - 70 FPS
    2 - 21 FPS
    3 - 17 FPS
    4 - 17 FPS
     
    RB_lashman likes this.
  4. ronjart

    ronjart

    Joined:
    May 16, 2013
    Posts:
    94
    Great Demo! GTX 980ti @ 2560x1080

    1 - 195
    2 - 78
    3 - 63
    4 - 60

    I'm I right in assuming that at this resolution performance could be comparable to what we would see with a CV1 or the VIVE or should we expect lower performance on those VR platforms?
     
    RB_lashman likes this.
  5. macdude2

    macdude2

    Joined:
    Sep 22, 2010
    Posts:
    685
    The Vive and CV1 need 2x1080p @ 90fps. So with your card, looks like you could possibly get preset 1 to work in realtime. Especially since you wouldn't need to revoxelize for the second camera so it's cost would be a fair bit lower.
     
  6. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    Heck with the speed of the lighting engine, if it came down to necessity (e.g. VR), I'd be fine with a bake option of this quality (Ultra). :D

    Otherwise this is a high-end graphics feature, so performance on required card (980ti) is awesome.
     
    zoid25 and RB_lashman like this.
  7. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    604
    I definitely noticed improvements in performance in this new demo. Kudos to @sonicether on the optimizations so far!

    I would definitely love to see a bake option at runtime as part of the official roadmap. I'm willing to sign away any number of my unborn children to make it happen.
     
    Slaghton, macdude2, zoid25 and 2 others like this.
  8. zelmund

    zelmund

    Joined:
    Mar 2, 2012
    Posts:
    381
    demo is very interesting
    even with artifacts

    about artifacts... im not sure that you can fix it. every options of GI i saw had similar artifacts. maby there will be some tips how to cover it in "big black box" =)
    anyway, this GI solution is already good on that stage and can be usefull in games, if ppl will know when and how to use it right.
     
  9. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This is what will interest me the most on the plugin, the Baking feature.
    It would be awesome to be able to bake in some second levels for mobile games or PC games scenes, i will drop Enlighten directly :D
     
  10. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    933
    Much mush cleaner while moving when compared to last demo i tried, even though there is still just a little bit of a shadow leaking.
    37 FPS - stable with initial settings on GTX 750Ti and 1440x900 res on Windows 10 x64...
    Looks beautiful and has good potential...
     
  11. Lexie

    Lexie

    Joined:
    Dec 7, 2012
    Posts:
    646
    Interested in seeing this working on a larger level with thinner walls. Seems like this scene is created to hide a lot of the limitations this type of lighting has.

    If you move away from the structure you can see the GI voxel grid is really tiny. This wouldn't really be acceptable in real world applications unless you have tiny indoor rooms or restrict the camera to being top down.

    I estimate the max GI lighting distance is only 16m in this scene, so although the quality looks amazing, stretch that 16m over a large view distance and the effect would quickly fall apart.

    Visually it looks amazing but that performance and the limitations I think this system has,
    I'm worried that this is going to stay as a tech demo.
     
    Last edited: May 24, 2016
    Crossway and Zuntatos like this.
  12. macdude2

    macdude2

    Joined:
    Sep 22, 2010
    Posts:
    685
    Cryengine makes it work with larger scenes, so it definitely can done. I think what they do is voxelize only the area area around the player and then fall back to on realtime and ambient lighting at large view distances. Definitely wouldn't be perfect, but there are certainly ways to make it work.
     
  13. IronDuke

    IronDuke

    Joined:
    May 13, 2014
    Posts:
    132
    With everything cranked up, I got 30-33 FPS on my GTX 960 FTW @1080p. Also, CPU usage never broke 5%, nor system RAM 200 megs, so it seems practically all your load is on the GPU. GPU RAM was at around 1.3 gigs used.
    I just want to mention in passing that occasionally the shadows would fail on random presets. Also the colliders for the cubes sometimes would fail, for all of them, and even after regenerating the structure would stay gone.

    It's looking real good so far!:D

    --IronDuke
     
    RB_lashman likes this.
  14. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    If I'm keeping it real, yes, it's definitely more so a tech demo piece than something to be used in games in its current state. Speaking on the issue you pointed out, I have yet to implement cascades, which should improve on that drastically.

    Technology like this has to start somewhere, and I feel I'll have the best chance to improve it enough so that it's more than just a tech demo piece with the release of a beta version sooner rather than later. I'm going to provide a roadmap so that everyone understands the current limitations and the plans to overcome those. I want to be as communicative as possible during the beta phase, and do not want anyone buying this asset not understanding everything about its current state and its planned future.

    Three of the major things alone that I want to implement might be able to push this technology into practicality; smarter voxelization (less redundant work), cascades, and a more advanced data structure to allow for directional voxel data (to fix light leaking and over-occlusion). I've got several concepts for how I want to tackle each one of those problems, so they're not just hollow ideas. I can never guarantee anything, but I'm hopeful about these things.

    So, yes, perhaps this technology won't become practical enough to use in games for current hardware, I've admitted that from the beginning; this is still a pretty uncharted area of real-time graphics. However, I pretty much won't give up until it is, which I do believe is inevitable in at least the next few years as graphics hardware becomes more powerful, and at that point, my solution won't be the only one to become practical. Existing solutions are not too far off from current performance demands. The years will go by, graphics hardware will improve, and we will see practical real-time GI in games eventually. I just want to be a part of making that sooner rather than later.
     
    one_one, jcarpay, RB_lashman and 2 others like this.
  15. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,768
    There must be a way to bake the result anyway, what if there is an option for an extra UV that would use a render texture to be save as a file when people see fit, or something like because i'm no expert :D

    There was a solution to bake normal map within unity, something like that!

    Prevoxelize zone would be cool too if we can precompute visibility and only update where needed locally ... but are going geomeric style by now :eek:

    It run a 9 fps on my old computer at level 1 and it does look very nice, I just want to press "stop" and keep the current result on a texture :oops:
     
    RB_lashman likes this.
  16. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Yeah, I haven't investigated the details yet, but I definitely want to look into (runtime or in-editor) baking as a feature.
     
    RB_lashman, ksam2, zoid25 and 2 others like this.
  17. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    604
    Yeah, runtime baking, especially for the higher quality presets, would be awesome. I think a lot of us have use cases involving procedurally generated content at runtime, but after that initial generation, there wouldn't be a need to revoxelize on an ongoing basis. Hopefully, something like that would accommodate lower hardware requirements.
     
  18. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    CryEngine solution is lot more faster and usable for real time games large scenes.
    Until sonicethet can compete CryEngine is the best solution for real time GI today.
    Anyway this plugin has lot of potential about a very fast baking, providing good enought lightmaps, i think hundred of people are getting borred about Enlighten very long times baking making it un usable.
     
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    But you'll have to improve it and become as near as fast as possible as CryEngine, because your plugin today is too much ressource intensive.
    Even with hardware increase, if we get a large playable game demo running 300 fps on CryEngine with SVOGI and 60fps with your plugin , CryEngine will be better because it will allow to add more content and level or character complexity without dropping under 60fps.
     
  20. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,138
    Checked the labyrinth demo.
    It´s very promising, can´t wait to get it from the store!
     
    RB_lashman likes this.
  21. Zuntatos

    Zuntatos

    Joined:
    Nov 18, 2012
    Posts:
    523
    Well, yes, the quicker solution is the better one assuming roughly equal visuals. The rest of CryEngine is a whole other story though.

    But, on topic: I'd love support for fixed place volumes, so you can cover an area precisely and cover the next area as you're about to enter it. If a game is area/room based, that should help a lot with precision issues / performance I suppose.

    GPU's are still growing Moore's Law like for now (nvidia gtx 10** seems to be a 70% increase over gtx 9**), but I wonder what we'll see when they hit the current CPU feature sizes.

    Related note; What is the intended/current compatibility for this? Probably DX11+ / OpenGL 4+ for UAV/compute shader? Also, what Unity compatibility?
     
  22. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,957
    Still there are games that dont need huge open spaces and i suppose this might work great in something like ICO sized rooms etc to give the amazing feeling of light emission from floor sun etc and amplify the mood.

    And hardware is definitly going up as well. All in all would definitly be nice to have the option to check it out than not.

    Is there a release estimate ?
     
    RB_lashman likes this.
  23. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I agree, it could be used on high end machines for minimalist games or room based for example.Still , i bet more on the baking feature.

    Will baking be faster than Unity about UV generation? Preparing second UV (without lightening calculation) in Unity is a very slow feature, even your plugin won't be able to speed up 2°nd UV making ?
     
  24. Zuntatos

    Zuntatos

    Joined:
    Nov 18, 2012
    Posts:
    523
    Depends on the 'baking' being done. It could mean simply not updating the geometry, only the lighting, or not updating either. Baking doesn't mean for certain UV-mapped light textures baking. Maybe it can be baked into a more efficient sparse voxel octree or something.
     
    one_one likes this.
  25. macdude2

    macdude2

    Joined:
    Sep 22, 2010
    Posts:
    685
    I think SE has already talked about implementing this – turning off realtime generation of the voxels. He said this would speed things up, but you still wouldn't get near the speed improvements that you would with baking a light map.

    As far as generating UV2 data – I would be happy to just be able to use this GI instead of baking with Beast/Enlighten – that is just use the UV2s that Unity generates when you import meshes. Then the only thing you have to take care of is atlasing the UVs, but that is pretty straightforward I believe.

    The only other issues I see is light mapping a large scene at a high resolution, but perhaps then you could tile the scene, voxelize and then bake each section independently to accumulate a high resolution result. Very hopeful that we'll get the source (or at least access to infrastructure) so that we can build upon his data if we so choose.
     
    Zuntatos likes this.
  26. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    If you go that route and large scenes with high res, than you will loose all lightmaps benefits and you'll fall in the same general problem of baking times.

    It should be 10 times faster than Unity. I couldn't believe it, a floor cube and some objects on it, it took more than 15 minutes to bake. Something is wrong with Unity and Enlighten.
    If Sonicether plugins bakes in a second, this will be a big win.
     
  27. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,344
    This is really looking phenomenal @sonicether !

    One thing i really like is that even on lowest settings it still looks stunning, and with 155FPS!

    Here are a few images :D
    1.jpg

    These are Ultra and Low:
    3.jpg 2.jpg

    Stats:
    - 155
    - 57
    - 49
    - 48

    Specs:
    i7 4790k @ 4Ghz
    GTX 970
    16GB DDR3 @ 1600Mhz

    The 155 Low -> 57 Medium is probably due to the reflection being activated. Medium would probably run really well without the reflection.

    Anyway, really looking forward to this! Keep up the awesome work :)
     
    Acissathar and zenGarden like this.
  28. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I'm suprised in low it still looks beautifull.
     
    eskovas likes this.
  29. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    A couple other things to consider:

    • We'll have more control over the settings, finding out own sweet spot (i.e. Voxel Resolution, Cones, Cone Traces)
    • With scenes of greater visual complexity, lighting artifacts are going to be less obvious. Sonic's test scene is as plain as you can get while offering some, albeit basic, visual interest
     
    eskovas and RB_lashman like this.
  30. Howard-Day

    Howard-Day

    Joined:
    Oct 25, 2013
    Posts:
    124
    I'd like a way to permanently turn off the reflection on all quality levels. I feel like it's actually muddying the waters when it comes to how much a perf impact this actually is.
     
    macdude2 and chiapet1021 like this.
  31. ClemZ

    ClemZ

    Joined:
    Jul 18, 2014
    Posts:
    2
    Haagndaaz likes this.
  32. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,768
    Is that a bunch of hand baked LUT at the end?

    Remind me those cpc 6128 poke and peek listing I tried to enter y hand when I was young kids.
     
    zenGarden likes this.
  33. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This is not so simple.
     
    ksam2 likes this.
  34. Zuntatos

    Zuntatos

    Joined:
    Nov 18, 2012
    Posts:
    523
    It's an array of equally distributed vectors (or w/e they're named) to use as ray directions to compute lighting for. At least, some of them look like those arrays.
     
  35. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,768
    @zenGarden Just because there is LUT don't mean they are simple, I made an observation, I didn't say "oh they just use LUT" :eek: That's why I bring up the cpc stuff, impossible to understand just by looking at them! Impossible to debug because you stupidly put a o instead of a 0 :confused: can't be more opaque!
     
  36. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,001
    Can this be used for big terrains? for outdoor environment?
     
    Last edited: Jun 4, 2016
  37. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    395
    At this point I think you can declare a release date for the first version. or maybe I'm wrong.
     
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I confirm, you are wrong unfortunatelly.
     
    one_one likes this.
  39. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,768
    Will the different screen space one bounce version still exist?
     
  40. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,001
    Sorry but was your intuition wrong? cause nothing released :D
    Please do it faster I'm gonna be your first customer.
     
    macdude2 and antey3064 like this.
  41. InfeticWorld

    InfeticWorld

    Joined:
    Jun 5, 2016
    Posts:
    1
    Hey Cody, please check your email.
    From "InfeticWorld.com"
     
  42. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Hey... h... hey guys...


    It's happening.
     
  43. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    ...nope, don't believe you kthxbai! o_O
     
  44. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    yep, I believe you kthxbai! :)
     
    RB_lashman and SteveB like this.
  45. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,001
    I'm refreshing Asset Store from now on...
     
  46. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
  47. zoid25

    zoid25

    Joined:
    Mar 30, 2015
    Posts:
    6
    It feels like Christmas eve! IT'S ALMOST HERE!

    Congrats on getting everything release-ready, Santa Sonic :)
     
    RB_lashman and chiapet1021 like this.
  48. Kombiice

    Kombiice

    Joined:
    Jan 20, 2015
    Posts:
    64
    Nice!
     
    RB_lashman likes this.
  49. rebit

    rebit

    Joined:
    Nov 13, 2014
    Posts:
    133
    yessss !!!!!!!!!!!!!!! thanks Sonic !!!
     
    RB_lashman likes this.
  50. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Hey guys,
    all of us were here waiting, asking, requesting, complaining, etc. for SEGI... and now that SEGI it's released on de Unity Asset Store, it's time to give our support to "Cody Darr" (Sonic Ether) with our POSITIVE REVIEWS.

    Think about this: truly positive reviews in the UAS means more sales for Cody, and that means a more mature SEGI for us.

    Lets give our support to Cody!!!
     
    Mr_Dan_O and RB_lashman like this.
Thread Status:
Not open for further replies.
unityunity