Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Realtime GI System - Indirect Ilumination (WIP)

Discussion in 'Assets and Asset Store' started by CKahler, Jul 23, 2013.

?

Do you need a realtime GI system for your game, and how much money would you spend?

  1. Yes, but only for free !

    97 vote(s)
    36.6%
  2. Yes, I would spend 200 Dollars for it !

    147 vote(s)
    55.5%
  3. No, I don't need it !

    21 vote(s)
    7.9%
  1. Almaj

    Almaj

    Joined:
    Jul 14, 2013
    Posts:
    38
    And please, please don't forget to support deferred render ;)
     
  2. WillModelForFood

    WillModelForFood

    Joined:
    Dec 5, 2011
    Posts:
    143
    Only thing keeping me from going back to cryengine is no indie license, they won't let me put up a video on kickstarter even with 100% custom assets.

    So this here would be a dream come true no matter the price. If its possible for 1 man to implement this, why can't unity devs do it themselves to compete with unreal 4 cryengine ?

    Even if it requires rewriting alot of unity, the other players are coming for the mobile spot as well. So saying Unity is mainly specializing in mobile and not as much into next gen PC / console to avoid the amount of work necessary to stay in the spotlight is simply bonkers!
     
  3. Almaj

    Almaj

    Joined:
    Jul 14, 2013
    Posts:
    38
    I agree, I also don't understand why can't unity devs do a simple Global illumination system, unity are far more easy and dynamic than Cryengine, I think unity is the only engine that lacks of GI, it seams the only thing they care about is mobile games, and unity can offer so much more...
    the only reason i will move to unity is Global illumination, and a lot of people are like me, they will not move until they have a proper light system

    If CKahler succeed on making a proper GI to unity, it will show us that numbers doesn't matter, one guy can make a difference and some unity devs are in the wrong job, some devs are occupying job places where CKahler and others like him should be.

    Come on unity devs, Global illumination is old tech already, almost every other engine already has this ages ago, even the one-guy dev S2 free engine have it, one guy!? come one!!! Why you don't want to keep up with others, why?
     
    Last edited: Aug 10, 2013
  4. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    @Almaj "the only reason i will not move to unity is Global illumination"
    so what are you doing here?

    FYI you are here already :) lol
     
  5. Almaj

    Almaj

    Joined:
    Jul 14, 2013
    Posts:
    38
    The fact that i'm follow unity forum and learning unity workflow, doesn't mean that I have moved to Unity,
    I'm evaluating engines, like Cryengine, UDK, Unity, C4, Torque3D and Unigine.
    you must know what is out there, before jumping on the wrong wagon.

    FYI I'm everywhere ;)
     
    Last edited: Aug 9, 2013
  6. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Definitely think implementing lpv will help, it looks excellent right now.
     
  7. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi guys!
    I am focusing on DX11 right now, adding the Rasterized Voxel Based Dynamic Global Illumination technique, it's like lpv with point lights support. I'm working on it full-time to finish it soon.
     
    Last edited: Sep 16, 2013
  8. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    If you don't know which.. do them all. Definitely way to go, but do you plan to support reflections as well? You could count me into beta test, if you plan to make some.
     
  9. PISCES

    PISCES

    Joined:
    Jul 28, 2013
    Posts:
    6
    Does this mean that the first version will be available soon? Are you finished with the DX9/DX10 version? This thing's just too cool to not release ASAP!
     
  10. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,512
    I would pay 200 or even 300 ... or even more.

    Some EST for version release dates would be welcome.
     
  11. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Is something like this what you mean by rasterizer voxel global illumination http://m.neogaf.com/showthread.php?t=656961
     
  12. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    - The RVBDGI tech is from http://www.crcpress.com/product/isbn/9781466567436
    - I'm planing reflections support, don't know if it gets in the first version.
    - The first release will be ASAP, can't say right now, I set the dx9 version on hold and worked on the dx11 stuff to finish the important parts like GPU voxelation. Tomorrow I will continue the dx9 version, so hopefully next week I can show you my process and release a demo version.
     
  13. Loards

    Loards

    Joined:
    May 2, 2013
    Posts:
    112
    this is just too amazing to believe it, keep it on! i would paid more than just 200 to have that tech!! if you make a beta stage, i want to be apart of it!!

    Cheers!
     
  14. akabane

    akabane

    Joined:
    Apr 26, 2007
    Posts:
    143
    Let me chime in since it looks like you're taking requests for features ;)
    First of all, congrats.
    We could absolutely use a GI system for our software, and we'd be glad to pay 200 (or even double that) to get it.
    Maybe different versions (with different techniques/requirements) could come at different price points.
    Anyway, I'm eagerly awaiting for something that I can download and implement.

    As far as my wish list goes (might be a little different from others):
    -Definitely SSreflections
    -Adjustable voxel grid size at runtime as option (even if it would freeze the game while it rebuilds the voxel grid)
    -Push DX11 version as best as you can as we don't have different deployment on lots of hardware (yay! ;) )
    -Add spot lights support or some kind of arealight approximation
    -And give the best support you can to the buyers ;)

    As I said this is a wishlist of dreams so I know some of it it's going to take much more time...but I'll get the first version anyway as soon as it comes out :p

    Please keep on giving us updates and good job!

    (To jump on the bandwagon on "why doesn't unity give us GI solution": I guess it has to do with Beast. Creating a GI system would probably make the Beast investment go down in value a lot, so it will come...but laaaaate. Oh marketing and money...)
     
  15. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
    I love how this is shaping up, Ace... and please, I am "begging" you to see if you can get this working with Skyshop :)... I definitely need a real time GI solution... also would we be able to bake it down if we like the results?
     
  16. Almaj

    Almaj

    Joined:
    Jul 14, 2013
    Posts:
    38
    Great, nice to hear that you are making progress.
    are you thinking to make a TOD (time of day) tool? like cryengine? That would be great!;)
     
  17. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Are point lights going to be able to have global illumination or just directional lights?
     
  18. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    My goal is to support any type of light source, even the sky! At the moment the lpv dx9 version only supports directional light, the dx11 version point/spot/directional. Here is a quick preview of the first dx11 tech:
     
    Last edited: Aug 26, 2013
  19. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    Do i see reflections? Yes i see. Nicely done man. It looks amazing as it is right now. Do you plan to release all three methods for 200 in one package or each one independently?


    Edit: I was mistaken, the actual "reflections" was not seen in the demo, just GI lights around.
     
    Last edited: Aug 28, 2013
  20. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
    That is looking impressive... maybe it's my screen but the inner hall is looking dark at the moment in the test... I am kind of expecting some light to be bouncing around in there... but nonetheless i am very impressed.
     
  21. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Yes one package,
    the price is not set yet. I think I will start with a keen price and when I add more techs like voxel cone tracing it will get a little bit more expensive, so if you buy an early version you get all the latest updates for free, of couse. The first version will have an improved tech included, here is a preview (no final yet):


    @Neptune_Imaging: you can edit the light settings via parameters.
     
    Last edited: Sep 16, 2013
  22. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Wonderful!

    I'll tell ya, I can't wait to create my own GI scenes that are not Sponza! Haha :D

    Good work man!

    -Steve
     
  23. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
    Sweeet...and that preview is OUT OF THIS WORLD! I GOTTA HAVE THIS FOR MY GAME. Now will this be in Unity 3.5.7 as well... if so, this is a DEFINITE purchase... also need to find out if this will work with light probes and skinned meshes... don't want to leave that out :) And can we bake down the results?

    EDIT: And this will be a great component to use with Skyshop...
     
    Last edited: Aug 27, 2013
  24. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    What's the frame rate for the lpv gi?
     
  25. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi guys, sorry to keep you waiting, but I have some small issues to fix, before I can release anything. I will test the system with the bootcamp demo next, can't see sponza anymore ;-). The framerate was over 300fps (2-3ms processing) with my gtx680, which broke so i'm working with a gt630 right now.
     
  26. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Can you post a video with the BootCamp demo?
     
  27. EvilFox

    EvilFox

    Joined:
    Jul 23, 2013
    Posts:
    83
    Greetings. Nice work.

    Resolution?
     
    Last edited: Aug 28, 2013
  28. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    It seems that crytek uses lpv only for their sun. Do you know why since you've managed to achieve such high frame rate?
     
  29. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    the crytek paper says, that they are using this tech also with point lights, spot lights and with environment maps. They have 3 cascades for the sun. I'm going to add these cascades too and test it with the bootcamp. I fixed some issues and it looks better now, almost like the rendering from mental ray ;) as you can see I exaggerated the color bleeding... and shadow occlusion is still missing (which I will add soon).

    $compareWithMR.jpg

    But that's enough sponza for now, I will fix the small graphical issues later.

    @EvilFox: the resolution wasn't that high, but it doesn't matter, we should talk about the fps later, because nothing is optimized yet.
     
    Last edited: Aug 29, 2013
  30. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,373
    Looks amazing, i'll definitely consider buying this when it comes out, would be perfect for my game.
    Can you do some tests and share with us the results? Like making a comparison between low-medium-high quality, showing how it looks with each setting and what FPS you are getting with it. Maybe it's too early for tests like that, but i would really like to see these statistics.

    Looking forward to see how the bootcamp demo looks with this tech.

    Do you have an ETA for the asset?
     
  31. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    It definitely does look better! Also since your more active then the kurtloefler guy and also plan on doing some voxel cone tracing, can you tell me why was it that the creator of this tech was able to get 75 fps on a gtx 480 but epic was only able to get 30 fps on a gtx 680 with all their optimizations?

    Epic:http://www.unrealengine.com/files/misc/The_Technology_Behind_the_Elemental_Demo_16x9_(2).pdf

    creator:http://graphics.tudelft.nl/~eisemann/publications/Crassin2011VoxelGlobalPG/VoxelGI_EG-pg2011-sub.pdf
     
  32. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi blueivy,
    I think it is the combination of all the other shaders and effects that affects the fps. In the tests of the creator he only has a "small" scene and no extra effects... the effects (lighting, particles, post effects, shading) eat up a lot of the gpu power, so maybe this is the reason why epic canceled the voxel tracing tech. We will see if it's worth using it, if it's too slow you can choose one of other techs of the package, but I think you can optimize it e.g. other voxel scaling. As far as I can tell, the LPV and the other DX11 tech will be faster. My website www.next4unity.com is coming up soon, where all customers get full support... so I'm more active, yes! ;-)
     
    Last edited: Aug 30, 2013
  33. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Thanks for that! I really appreciate your support even though your product is not even officially out yet, it really instills confidence in me about your asset! You're definitely going to swimming in gold after you see how much people buy your asset! :D

    edit: do you plan on implementing glossy reflections using lpv?
     
    Last edited: Aug 30, 2013
  34. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    Nice update, i have some more questions:)
    What is GPU, CPU, memory requierements for RVBGDI and LPV and do you see some big graphics differences between these two?
    In GPU PRO 4 page 168, title 7.4 i read that single voxel grid can't deal with large game environments and several nested voxel grid should be used. My point is if you consider that problem, because power requirements increase exponentially ( they use 32x32x32 grid and according to your video you too). The papers says that proper solutions is to use multiple grids and lineary blend between them. Do you experiment with different voxel sizes, numbers or multiple grids to handle large environments?
     
  35. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Yes!
    I don't see much differences in quality, in fact Rasterized Voxel-based Dynamic Global Illumination is based on the LPV technique. RVBDGI will be a bit faster if you have a strong gpu, however I like to answer the memory requierements question a bit later after the optimization process, because there will be some changes.
    Yes, I'm working with 2 voxel grids (each 32x32x32, one small, one large) but my tests are not final, so stay tuned, more infos will come. By the way, LPV also uses a 32x32x32 voxel grid, that collects the light data form virtual point lights. RVBDGI gets the light data directly from the exposed grid.
     
    Last edited: Aug 30, 2013
  36. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
    So, how are you dealing with light probes and animated models with this?
     
  37. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Curious about this as well.
     
  38. darthviper107

    darthviper107

    Joined:
    May 22, 2013
    Posts:
    15
    I wouldn't think you'd need light probes, since light probes are just a way of faking GI on dynamic objects. And since the lighting is fully dynamic, the lighting should be the same for dynamic and static objects
     
  39. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446

    I hope the next demo can have a skinned character, moving in the level...
     
    Last edited: Aug 30, 2013
  40. WhiteNorthStar

    WhiteNorthStar

    Joined:
    Nov 23, 2011
    Posts:
    9
    *fingers crossed*

    I really hope that you can get this up, running and commercially available. :D
     
    Last edited: Sep 1, 2013
  41. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi guys,
    I finished the setup for the voxel grids blending (now you can use up to three different voxel sizes) for large scenes. I'm thinking about releasing a little web demo (if it works with the web player ;)), however the performance could be better, so I am still working on the optimization part. But maybe tomorrow or on wednesday, so that you could give me some feedback how I runs on your machines.
     
  42. Loards

    Loards

    Joined:
    May 2, 2013
    Posts:
    112
    Awesome! cant wait to see it in action!!
     
  43. Seikan1

    Seikan1

    Joined:
    Jul 8, 2013
    Posts:
    49
    Does the voxel grid sit inside view frustum or inside full scene? Perhaps you should allow interactive voxel grid placement (tool to take voxel grid, change dimension, resolution and place it whatever we want, in FPS type of game we don't really need square grid if we mostly move in z and x). -i just thinking about optimalizations

    Do you make some progress with ss reflections?
     
    Last edited: Sep 2, 2013
  44. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    615
    Hi CKAHLER, crytek just posted this publication and I just happened to skim through it and noticed they're doing some manual darkening and manual light bounces, while their gi only contributes to diffuse color bounce. So it appears that their indirect lighting is heavily manually modified but in the latest two pictures you posted the indirect lighting looks phenomenal w/out all of that. Is your lpv technique different some how or am I misunderstanding something?

    crytek:http://www.crytek.com/download/gdce2013_shining_the_light_on_crysis_3_donzallaz_final_plus_bonus.pdf
     
  45. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
  46. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    @Seikan1: the voxel grids are fully dynamic and move with the view frustum, like cascaded shadow maps do. I already have made a ss reflection shader some time ago, but I had no time to integrate it, but will be soon added.
    @blueivy: My method is a bit different, I managed to increase the bouncing of the light, so it looks more realistic, but it also costs a little bit more gpu power, I will add an option where you can switch between the normal and the advanced indirect lighting. By the way, the bottom one of the latest two pictures is a mental ray rendering, so you can compare my tech with it. Thanks for the pdf, very interesting!

    I'm building together a small demo level for the web demo tomorrow, I think I will present it in the evening, if nothing goes wrong... :)
     
  47. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,446
    And I am kinda of hoping you could place an animated character in there to see if this real time will affect them without the need for light probes... that will be a high selling point for me...
     
  48. darthviper107

    darthviper107

    Joined:
    May 22, 2013
    Posts:
    15
    That's really cool, can't wait. It'll be really exciting to be able to have consistent lighting between dynamic and static objects and be able to do lots of moving objects with high-quality lighting. (and not have to build lighting)
     
  49. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    @CKahler: I must say that this project sounds extremely promising! Looking forward to seeing the demo.

    I have a question though: Is it going to be possible to use existing materials and shaders (ie: parallax, tessellation, fur, cubemaps, etc...), or is this only going to work with special shaders? Thanks...
     
  50. CKahler

    CKahler

    Joined:
    May 6, 2013
    Posts:
    149
    Hi guys, I like to add a sky system to my demo, so there will be some delay... tomorrow it should be fine!

    Edit: I found out that some of the sky scripts I'm using are not working with the web player, so I'm building a standalone app.
     
    Last edited: Sep 4, 2013