Search Unity

  1. Are you interested in providing feedback directly to Unity teams? Sign up to become a member of Unity Pulse, our new product feedback and research community.
    Dismiss Notice

[PREVIEW] dynamic GI v0.7 web player demo

Discussion in 'Assets and Asset Store' started by CKahler, Dec 3, 2013.

  1. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149


    Includes all the promised features plus SSR, SimpleGI and the full source code!
    You can modify/change/optimize it by yourself. (I think, that's worth the money)
    No errors occurred so far!
    (tested with OpenGL/DX9 and DX11 build, on a windows pc with gtx 770, 32GB RAM, Intel i7 3.60 GHz)

    Known Issues:
    - still not optimized
    - slow performance with high voxel grid (but not bad for voxel cone tracing)
    - some shadow problems with point and sun light (mostly in the dx9/openGL version)
    - light leaking through walls
    - some minor bugs

    These features I want to add (after my break):
    - shadow generation with gpu particles.
    (still in wip, improves performance, because scene doesn't get rendered by shadow cams anymore)
    - add RVGI as an alternative to VCT's GI. (better performance)
    - improve SSR with blended cubemap reflections as an alternative to VCT's specular reflections.

    I asked unity support, to remove my asset for the time I'm not working on it, so don't wonder if it's gone from the store, I also will update my website (finally), so you can get access to the latest versions via login.
     
    Last edited: Apr 15, 2014
  2. Joerg74

    Joerg74

    Joined:
    Mar 28, 2013
    Posts:
    5
    He Chris
    great work, I´m really looking forward to this spectacular update :D

    One of your happy customers
    Joerg
     
  3. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Looks very impressing. How are you injecting the light? Is it done in screenspace? Do you move around point lights and let unitys pipeline work as usual?
     
  4. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    748
    Very nice, Chris. Really looking forward to the update! :)
     
  5. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Last edited: Dec 3, 2013
  6. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    This looks good. Does it work with transparent shaders ? If it does it would be better to use a less dense transparent glass refractive shader on the dragon or other object to show it's use of transparency off.
     
  7. angelodelvecchio

    angelodelvecchio

    Joined:
    Nov 15, 2012
    Posts:
    170
    You made my day once again many thanks!

    I cant sleep to see this update for dx9!

    Many thanks once again!
     
  8. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,016
    Chris...you just made my xmas special :)
     
  9. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    I got a question (you probably dreaded to answer)... ;)
    What's the difference between your solution compare to Brilliantgames's Real Time Global Illumination system?
    You guys are also running almost the same demo - its the same room, but different props. I would like to see if you could use the same prop (then maybe we can compare it apple to apple). :)
     
  10. mrbdrm

    mrbdrm

    Joined:
    Mar 22, 2009
    Posts:
    510
    Brilliantgames GI is "fake and cheap" point lights that is good for low end devices with good look, this on the other hand is more costly and complicated and more accurate.
    correct me please :)
     
  11. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Brilliantgames's Real Time Global Illumination system uses unity's physics ray casting technique (CPU based) and generates pointlights from these bounces. So all models which should emit light need colliders and read-enabled textures (which you have to set before runtime) or at least some color info, probably the base color you get from the material, which would be one light color per material . So if you have models with one material you can reflect one color per model.

    next4unity's Real Time Global Illumination system (dGI) uses the voxel cone tracing technique (GPU based)
    - no colliders needed, get data from voxel volume or light cameras (tech from v0.6)
    - more light colors than one per model
    - besides GI, it automatically generates AO (looks better than unity's SSAO)
    - additionally you can add specular/reflection that reflects the environment
    - objects can emit light from their textures (emissive objects)
    - everything is dynamic at runtime
     
    Last edited: Dec 4, 2013
  12. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Yeh your AO is much better than SSAO from Unity for sure, especially once pimped up on some posteffects.
     
  13. sotec

    sotec

    Joined:
    Sep 14, 2012
    Posts:
    34
    awesome demo, but so costy U_U , near 1 IPS , and i couldn't put max resolution
    ( i have a GT 555M , a bit old but not that bad i think U_U )
     
  14. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Great! Thanks for clarification.


    BTW, I am not sure if its just my system or a bug in the demo - your web demo CRASHED my whole system (first time ever for me). I was playing with the lights and as I turned the quality up and down (for comparison) for a good 5 minutes no problem but suddenly my system just hang when I change the quality again and I had to do a hard reboot. My system spec is C4D Quad 9300, NVIDIA 9800 GTX, Firefox 25.01, 4GB RAM and Windows XP.

    Also, a suggestion, you should fix the light position or put the light on a UI slider or some sort - I found it whenever I try to change the quality from simple to fantanstic, the light will change the direction it is pointing.
     
  15. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,373
    Looking awesome,
    can't wait to try this out in my game :)
    I already bought it a while ago but couldn't implement it in the game because of some dx11 problems i'm having with my project.
    I'll post some screenshots when i get it to work.

    What are the next features/improvements planned after 0.7?
     
  16. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    748
    I thought so too, but then I saw Brilliantgames' latest post where he says:

    Anyway, I'm eagerly waiting for version 0.7! :)
     
  17. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,671
    This looks so nice... congrats! I didn't notice any real performance issues on my machine unit putting the quality on very high, and then there was some obvious chugging. But honestly I couldn't see much difference in this scene between low - med - high settings, maybe because of the small webplayer.

    It looks like a great upgrade from the current version, especially with support for DX9, is this webplayer running in DX9 or in DX11?
     
  18. Nick!

    Nick!

    Joined:
    Jun 27, 2013
    Posts:
    8
    This looks really cool, and I'm looking forward to seeing your next updates. In the meantime, I had a few questions about the capabilities of your current setup:

    • What kind of effect will scene scale have on performance? The small office is looking quite nice, but will it hold up in larger spaces (like 20x20 meter open office room)?
    I've linked to a few shots below from a couple realtime area light solutions (two of them are from Epic's latest UE4 shader/lighting paper):
    • Variable highlight spread and intensity based on surface roughness (driven by a gloss/roughness map). This is visible in the concrete as well as the progression of spheres that have different roughness values (tighter highlights to broader, muted highlights).
    • Metallic highlights that are affected by a metallic surface's reflection color (the gold objects and balls have altered the reflection color).
    • Finally, I was curious if your solution worked with transparent, reflective materials like glass (I think this was asked before)?
    $Unreal Area Lights 01.png $Unreal Area Lights 02.jpg $ShaderToy Lights 01.jpg

    Cheers!
     
    Last edited: Dec 10, 2013
  19. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    Looking at the screenshot of the original post I see that there is no shadows, only ambient occlusion. I know it's possible to activate the unity shadows but those are not calculated in the same way than the GI approach, are the shadows an upcoming feature or the final version will look like that? if you implement shadows will the performance cost grow? thanks, sorry my english
     
  20. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    720
    you did it man.Awesome work.:)
     
  21. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    What's the difference between the different quality settings (low,med etc)
     
  22. Delcast

    Delcast

    Joined:
    Mar 2, 2013
    Posts:
    6
    So! this is shaping up quite nicely!
    I don't mean to pressure you, but what's the story on the 0.7 version!? I can't wait to take it for a spin. Have you sorted out the shadowing added to the GI occlusion yet?

    Well anyway, great work, looking forward to the next version!
     
    Last edited: Dec 9, 2013
  23. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    I can't wait to the 0.7 release!!! please release!!! take my money!!!
     
  24. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Quality settings:
    - very low quality (cpu): is just a test I did, with cpu raytracing (won't be included in v0.7 release, maybe v0.8 )
    - low quality: one cone per frame is calculated, normalmaps are generated within the voxelization process, no specular
    - medium quality: five cones per frame, normalmaps from screenspace used (more details), with specular
    - high quality: same as medium quality, however voxelization is spitted up to six directions (directional voxels),
    mipmaps are generated for each axis.
    - very high quality: same as high quality, but with normals-blending during the cone tracing process.
    8)
     
    Last edited: Dec 19, 2013
  25. fieldztime

    fieldztime

    Joined:
    Sep 1, 2012
    Posts:
    13
    The Best news ever ! Many thanks !
     
  26. Delcast

    Delcast

    Joined:
    Mar 2, 2013
    Posts:
    6
    Hey Chris, good job on the executable updates..
    although, I was playing around with it ( I have a Win8 x64 pc) and testing the versions, and I found surprisingly that the web version was a lot smoother. Also, the 32 bit version seemed to run more stable and overall smoother than the x64.. But there's no way to give you the exact info without a real framerate counter.

    Also, my whole GPU goes boom when I -lower- either the quality or the grid size.. first like all white... but then.. real terrible HARD RESET crash.

    Anyhow.. good going :D
     
  27. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    @Delcast: so you mean when you switch between the quality or girdSize levels you get a crash (the software stops running)?
     
  28. Delcast

    Delcast

    Joined:
    Mar 2, 2013
    Posts:
    6
    So, I was playing around with it again, and I've managed to replicate it on all 3 of my machines, when you change the Grid Size slider. One of these pcs has 2x GeForce gtx 780 sli and my laptop has 2 x GeForce 4gb 680m too, so it shouldn't be running out of memory or anything of the sort.
    Normally what happens is that after one or two size swaps, the geometry and the UI go all white ( over-saturated, seemingly corrupted textures or something of the sort), and then the demo crashes, coming up with a "the device has stopped working" message. Sometimes it recovers, sometimes it requires a hard system reboot. This happens in all quality levels (except very low).. could maybe respond to some memory leak on the array rezising? I've got no idea tho, just shooting ideas.
     
  29. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    yeah the switching mechanism is very complicated and I didn't spend much time on it, but I'm pretty sure it's a memory leak, I will fix it before the big release comes out.
     
  30. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    Honestly the only real problem I see is the flickering. Hope it can be fixed :D
     
  31. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I've been looking at a few similar implementations from different sources and there's flickering in those too. Maybe it can possibly be eliminated but to be honest i dont mind it and seems to be a common thing with the method
     
  32. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    Hmm his is the only implementation I've seen flickering in, or at least the most noticeable. It must be something causing it.

    EDIT:check pm ckahler
     
  33. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    Flickering is indeed the nature of VCT, but as i post earlier in old thread there are implementation with 512^3 voxel grid in old dx 11 hardware ( on 480x Geforce ) that did not shown any flickering and run smoothly. To have 512^3 grid in Ckahler implementation is not possible at this stage :(
    Anisotropic voxels add approximately under 20% to memory footprint due to information of their direction added into buffer, as i saw in others implemetations. But in 0.7 it runs under 5fps on my Geforec 680GTX with max out settings. High resolution and smart filtering is the way how to eliminate flickering but it must run fast! I think Dx9 VCT and old OGL is crazy idea, it is really not aimed to target this, and it will also slow down development of the next versions.
     
    Last edited: Dec 15, 2013
  34. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    What's this CPU raytracing your working on? Details?
     
  35. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Just a quick query, i'm assuming the dx11 version is using compute shaders, am i right? It's just as far as i'm awae nvidia pretty much nerfed the compute ability of their 600/700 cards to get people to buy their workstation cards. This wisdom of this completely eludes me, im assuming they forgot games need these abilities too and i read several articles with benchmarks showing AMD gaming cards blowing nvidias away in compute performance. For this reason exactly, but to keep me covered for cuda i got a 580 with then the option of doubling up instead of getting a recent 700 series nvidia card
    . Do the results you're getting shine any light on this? It's something i find interesting because nvidias strategy is mystifying

    Sorry for the offtopic by the way, just curious. The demo was lovely looking, theres an implementation in a gpu pro book materials cd that is very well presented and gorgeous, if this goes much the same way it's going to be quite something
     
  36. Gawson

    Gawson

    Joined:
    Nov 23, 2009
    Posts:
    2
    Amazing work! Is it possible to use it with Oculus Rift?
     
  37. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    In the latest version, I added an filter, so already a little bit less flickering.
    It's similar to brilliant games approach, with point lights, however in the next version I will replace the point lights with spherical harmonic lights. It will be an alternative to the vct tech. But it's not only working on cpu so I will call it "Simple GI".
    Can't test it, but I think it will work.

    I fixed a lot of bugs the last days, so memory leaks should be gone. However there are still some issues, currently multiple grids are not working correctly.
    That's why I'm not releasing it now, but everyone who purchased can send me an email with invoice number to support@next4unity.com and I will send you the alpha version of v0.7 !
    (It may take up to 24 hours until you receive the product, the next week I'm in x-mas vacation, so no emails will be read)

    It's an alpha version, so I don't need any bug reports right now... but if you think I might not know about it you can send me an email.
     
    Last edited: Dec 20, 2013
  38. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    How long you planning to develop ray tracing until first release?
     
  39. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    Would it be possible to apply the CPU ray tracing to your reflections in the vct since they only reflect direct light.
     
  40. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    This is just a test, independent of the release.
    I think SSR is still the best solution for reflections, the alpha version already has a simple ssr shader.
     
  41. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    Do you know the total ms it takes for the low quality setting?
     
  42. zelmund

    zelmund

    Joined:
    Mar 2, 2012
    Posts:
    426
    near 200ms for my riva tnt2 pro =)
     
  43. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    498
    And that's on low?
     
  44. zelmund

    zelmund

    Joined:
    Mar 2, 2012
    Posts:
    426
    Dude, that was a joke... anyway DGi is not for mobiles, ofc it eating perfomance, but it gives a new quality of exit picture. if you have a slow comp (amd 4850 or gts 450 video cards), just forget about DGI, it will be ocean of pain to edit it in your game.

    FOR THOSE WHO BLAME FLICKERING (ver 0.7) - switch to DX9. Some Options will not work but flickering will be less.
     
  45. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    no 0.7 release yet? please release!! take our money!!
     
  46. nikiz0r

    nikiz0r

    Joined:
    Sep 25, 2013
    Posts:
    1
    When is the new update coming out, last time I checked this thread it said that it would be released a couple weeks ago, however feel free to correct me wrong.
     
  47. XeviaN360

    XeviaN360

    Joined:
    Jun 3, 2010
    Posts:
    181
    Wow, great work
     
  48. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    wainting for 0.7...
     

    Attached Files:

    Last edited: Jan 6, 2014
  49. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi guys, sorry that I keep you waiting, but after my x-mas vacation I got ill... but I'm working on it again.
     
  50. EvilFox

    EvilFox

    Joined:
    Jul 23, 2013
    Posts:
    83
    Get well soon!
     
unityunity