Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Fully Dynamic Diffuse Global Illumination

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

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

    forestrf

    Joined:
    Aug 28, 2010
    Posts:
    229
    I just tested the demo. My rig is old, so the fps make sense

    Processor: AMD Athlon 64 x2 6000+
    RAM: 4 Gb
    GPU: Nvidia 9500 gt
    Resolution: 1366x768
    FPS: 4-8 (even when I am looking at the skybox)

    It looks awesome.
     
    Last edited: May 25, 2015
    RB_lashman likes this.
  2. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Hey everyone just wanted to check in with you guys.

    The GI in its current state, as I stated before, only calculates bounced light from one directional light, and doesn't handle indirect shadows (which leads to light leaking problems). However limited it may be, the algorithm does what it does very well and at a decent speed, so I still think it could be valuable to some games/projects.

    I've been wanting to find a more robust solution, however. I still dream (literally) of a full GI solution that handles any lights, emissive materials/objects, and indirect shadows. I tried a few experimental algorithms, but nothing of value came from those. Though I'm stubborn and would rather find another completely new technique, I've recently decided try my hand at voxel cone tracing. I figured I might at some point come across a neat optimization or variation that hasn't been done before.

    So, how's that going? Decently, I suppose. I just get frustrated knowing the limitations of what I've shown so far, so I'm going to keep experimenting and see where this approach leads me. I'll check back in if I decide to scrap it or make enough progress to where I think it's usable.
     
    Arkade, Slaghton, blueivy and 3 others like this.
  3. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Thanks for the update @sonicether. Just wanted to say I share your dream... :)
     
    Arkade, blueivy and RB_lashman like this.
  4. SAOTA

    SAOTA

    Joined:
    Feb 9, 2015
    Posts:
    220
    If you are looking for someone to test in semi realistic environments, I take anything from 2-4 different architecture models into Unity in a week, also I already own SESSAO and SE Natural Bloom, so I could test various combinations.
    Good job, it looks great.
     
    buttmatrix and RB_lashman like this.
  5. smetzzz

    smetzzz

    Joined:
    Mar 24, 2014
    Posts:
    145
    I'm interested in non-dynamic GI that calculates at runtime. Meaning, only camera animation and no changes in geometry. That would be a very useful asset for us. Thanks for putting the research in.
     
  6. Deleted User

    Deleted User

    Guest

    Voxel cone tracing is heavy, it's a dead end believe me.. Looks great, works well but requires some robust hardware..

    I'd look at Octree based LPV with spherical harmonics / lattices. It's not the prettiest option, it does have a few flaws.. But it's a proven methodology that works on older hardware (within reason)..
     
    Last edited by a moderator: Jul 16, 2015
  7. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    If im' not worng , only Crysis engine has that feature.
    They barught some experimental voxel GI, but i don't know anything about speed on older hardware ?
    http://docs.cryengine.com/display/SDKDOC2/Voxel-Based+Global+Illumination
     
  8. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    This may seem peculiar, but at certain settings, the voxel cone tracing itself is actually faster than SESSAO, and it mostly removes the need for it, in my opinion. Again, the main performance draw here is mipmapping the volume texture and clearing it. A frustrating hurdle, but one I hope to overcome. As far as scene voxelization, it's quite fast as it is (0.5 ms on a scene with 600k triangles), but it doesn't need to be done every frame and the work can be spread across multiple frames. Clearing and mipmapping is a necessary step in voxelization, so if it doesn't need to be done every frame, that performance draw could be mitigated.

    Light Propagation Volumes... I'm not a big fan. Anything I've seen of it, it tends to be very leaky and inaccurate. In this paper https://research.nvidia.com/sites/default/files/publications/GIVoxels-pg2011-authors.pdf it's actually pointed out that their particular implementation of Voxel Cone Tracing is faster than their particular implementation of LPV.

    I know that Voxel Cone Tracing is notorious for not quite being able to make it into games on current hardware (check out The Tomorrow Children for an exception to that)... That being said, there have been plenty of things that I thought just wouldn't work, and when I sat and took the time with it, the result ended up surprising me.
     
    smetzzz, blueivy, buttmatrix and 2 others like this.
  9. Deleted User

    Deleted User

    Guest

    @sonicether

    Well I've tried a variation of SVOGI and I tried the UE4 branch with VXGI in it, mainly it's all down to the indirect / reflection lighting calculation. Lower the quality and it works fine, making sure you get the opacity model correct is also a key component..

    In the end I managed to get 60 FPS on a 780TI with 4 diffuse tracing cones.. So at some settings sure it can be pretty effective (although not particularly accurate).

    I actually don't mind LPV, it's no where near as good looking as Voxel Based GI and neither is it particularly accurate. But CryTek and Lionhead made it work :)..

    I wish you the best, lets hope you're the one to crack it.!
     
  10. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Why nobody else is able to make a LPV solution as good as Cryteck or Lionhead ?
     
  11. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Well, I've made a ton of progress with this new voxel-based technique and I'd like to show everyone how the new algorithm is looking and talk about its current performance, benefits, and drawbacks. I've accomplished so much already and am feeling optimistic about the algorithm.

    Please note, this algorithm is still quite young. A lot can and will change during development. Although it shows potential, I can't promise that this particular approach will mature to be practical enough for real-world use in games and for me to consider putting it on the Asset Store.


    There are numerous visual advantages of my new approach (based on Voxel Cone Tracing) versus my original approach outlined in the first post:
    • Renders diffuse indirect lighting from any light source and from emissive materials/objects
    • Renders proper skylighting with shadowing
    • Calculates indirect light visibility (indirect shadows)
    • Is capable of rendering approximate reflections and refractions not bound by screen-space
    • Renders "infinite" bounces of indirect lighting from any source (sky, light, and emissive)
    And, of course, it shares some of the same benefits:
    • Requires no pre-calculation
    • 100% dynamic

    Before I show off screenshots, I do want to mention that I'm rendering indirect lighting at half resolution and haven't bothered to do bilateral upsampling or noise filtering yet. So, forgive the nasty edges and slightly noisy indirect lighting (trivial things to fix, but I'm focusing on the core algorithm right now).

    These images have no other post process effects applied except for a bit of bloom and tonemapping (no SSAO).

    So, here's how it looks so far.

    A simple outdoor scene showing indirect lighting with infinite bounces from all objects as well as an early version of reflections.


    Obviously, the coolest thing I've figured out how to do is render infinite bounces (which, to my knowledge, hasn't been done before with voxel-based global illumination). Here's a comparison of the same scene with a different perspective showing the difference between single-bounce and infinite-bounce indirect lighting.


    Single bounce.


    Infinite bounces.



    This is done with a clever feedback loop. With each frame, indirect lighting gains an additional bounce. Enlighten actually uses a similar approach for rendering infinite bounces (which took me months of using it to actually notice). The visual drawbacks of doing this are nearly unnoticeable. Also, another really cool benefit of infinite bounces regards reflections. Typically, with voxel-based global illumination, the scene as seen inside reflections only contains direct lighting (no GI). With infinite bounces, reflections show the scene fully lit with all indirect lighting and bounces. Cool!


    Skylighting with a single bounce. With only one bounce, objects can receive occluded light from the sky, but don't reflect that light.


    Skylighting with infinite bounces. Yep, the underside of that rock is green from the ground.



    Here's an ugly indoor scene lit by an emissive lampshade. With only one bounce, surfaces lit by emissive GI don't reflect any light.


    And here's the same scene with infinite bounces. I chose vibrant colors to emphasize the effect of having infinite bounces.


    And bringing some sunlight in...





    Alright, let's talk performance. These scenes were running on a GTX 980 at 1080p with cone tracing done at half resolution (as I said, I'll filter and clean up the edges later) with a voxel resolution of 256x256x256 weighing 137 MB (stored on graphics memory). The GPU profiler reports that the main voxel cone tracing step takes 2.1 ms, and the volume texture mipmapping, scene voxelization (done every frame) and work required for infinite bounces takes 3.4 ms. The latter steps would increase in render time as the scene within the volume gets more complex (though, simplified proxy geometry and omitting small-scale high detail objects are options to save performance). Calculating reflections as seen in the first image took about 0.2 ms (though, every surface is reflecting light in that image, which is wasteful rendering). So, the total approximate cost of this effect as seen in these images on my GPU is roughly 5.7 ms, which would equate to about 33% of the total rendering budget for 60 fps. With the other rendering costs of the scene, this was running at around 120 frames per second.

    Of course, this effect would be highly scalable. You could decrease the amount of cones per pixel traced, the amount of steps per cone trace, increase the cone angle, decrease the cone length (or maximum distance that light bounces), render cone tracing at 1/4th resolution, decrease the voxel resolution, etc... I also have more optimization ideas that I've yet to attempt.


    Okay, time to talk about the not-so-fun part. Artifacts and issues/drawbacks.

    This effect is not yet well-suited for substantially large scenes (or very large objects--especially interiors--relative to the volume size). I'm considering using cascades of volumes (similar to cascaded shadow mapping) to help with this. This will of course come at an additional cost, but it will certainly be faster than just scaling up the voxel resolution and the volume area naively.

    Since voxelization yields a coarse representation of scene information, several issues arise.

    Light bleeding. This is probably the most severe of current drawbacks. Due to some corners I've cut to keep things speedy, if a layer of voxels (representing a wall, let's say) is lit only from one side, a little bit of indirect light will leak through the wall to the opposite side, and a very little amount of light will improperly "spread" along the wall lighting itself, resulting in incorrect self-illumination (though, I'm quite happy with how much I've reduced this comparing it to other variations of voxel based GI I've seen). These problems can compound with infinite bounces.

    An example of light bleeding. The left wall is an outside wall, and some sky light and indirect light is leaking through to the inside. The thinner this wall is, the worse this problem is. Modelling and level-designing with this limitation in mind could reduce the frequency of its occurrence, but I'd still like to find a more reliable solution.

    Sharp reflections are essentially impossible because of the limited spatial detail stored in the volume. Thankfully, blurry reflections are still visually pleasing and useful, and normal maps can help with this a lot.

    Moving objects may also pose a problem. I need to do more testing with this.


    Well, I apologize for the gargantuan post. I just wanted to be completely transparent with everyone and lay everything out on the table. I'd love to get some input on what you guys think of everything; the drawbacks, the benefits, the performance, etc.
     
    Pecek, TerraUnity, forestrf and 24 others like this.
  12. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    @sonicether Here's my scientifically-accurate feedback: that looks so freaking brilliant!!! I would really love to be able to use this on Ghost of a Tale.

    The reason why I currently do NOT use any GI is because of the workflow; as a matter of principle I do not want to use anything that requires waiting for calculation results. I mean I love the 1990s as much as anyone but we're in 2015 and a game should be able to look great without needing any precalculation (granted I'm targeting gaming PCs, not mobiles).

    But your (actual) real-time GI solution could change that at last! Anyway, bravo to you. Color me impressed. Although I have been GI-burned several times in the past, it looks like you're actually pulling it off. And it's amazing.
     
  13. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    that is truly amazing! can't wait to play with it!
     
    RB_lashman likes this.
  14. timsoret

    timsoret

    Joined:
    Apr 9, 2015
    Posts:
    16
    Very impressive. This lighting quality will launch the trend of low-poly games, as it looks absolutely beautiful with very simple geometry / textures.
     
    RB_lashman likes this.
  15. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    Everything you just posted sounds phenomenal! I'm working on a level building game called Megatect, which means I cant use any GI baking or shadow maps if someone decides to build an interior. At the moment I'm using a crude ( and expensive ) ray casting system to determine if the sky can be seen, and then lower the ambient intensity amount to darken the environment lighting. its an ugly effect but its all I can do for now. So this system would be perfect for my situation! Plus, since I'm not using point shadows my game is going to have light bleeding no matter what, so that's not an issue for me.

    I would definitely love to give this a shot in Megatect, plus the subtle reflection is just what I need! If you ever decide to open this up for outsider testing I would very much want in!
     
    RB_lashman likes this.
  16. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    Quick question though, I'm using the gradient Ambient lighting source for a day/night cycle, would this still work with constantly changing sky colors?
     
    RB_lashman likes this.
  17. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It's beautifull and would make awesome stylized games.

    I just find it great even with the bleeding, it could be used in many stylized or simple games enhancing the overall graphics without needing to bake anything.

    Does it works with characters animations rendering and particles or alpha materials ?
    Can it be extended to allow emissive textures ?

    If you give people the options to tweak parameters like :
    - fast rendering method with some bleeding or artifacts but usable for many simple games not teragetting perfect GI
    - 1,2 , 3 or infinite bounce
    - Cone parameters
    - quality
    I think your system could be used by lot more people even with older 3D cards.

    Could you propose some demo or webplayer for us to test on our hardware ?
     
    Last edited: Jul 19, 2015
    RB_lashman likes this.
  18. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    *applause* truly great stuff!
     
    RB_lashman likes this.
  19. nipoco

    nipoco

    Joined:
    Sep 1, 2011
    Posts:
    2,008
    That already seems to be a trend. I'm not really a fan of that tbh. Because all the sharp facets look not really pleasing to me.
    I'd love to see that with some high quality game assets, with normal maps and stuff, rather than programmer art.

    Looks definitely promising. I remain skeptical though.
     
    Mauri and DennG like this.
  20. boundingbox

    boundingbox

    Joined:
    Mar 31, 2013
    Posts:
    30
    I like it. How are you populating the voxel buffer? Are you using cube probes (or cameras in general) to capture the scene and depth and add it to the voxel buffer?
     
  21. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I'm not sure if you're familiar with the work of sparth but I've just been adapting shades to help me accommodating the look, it's highly stylised and this looks great for it. I'd def be interested in having a go with it. Keep it up
     
    RB_lashman likes this.
  22. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
    +1 Let's hope it will not end like Livenda's SpectraGI.
     
  23. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Based on sonic ether's previous work, he won't be releasing things that arent up to snuff and will retain good communication. Even if this doesn't make the asset store I'd still be interested in working with it, im lucky enough to be working with a few pre-asset store things that are very exciting so I know how it can be
     
    RB_lashman likes this.
  24. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251
    Is this going to be an asset or an update of an existing one?
     
  25. nipoco

    nipoco

    Joined:
    Sep 1, 2011
    Posts:
    2,008
    There's unfortunately always a risk that it end up like that. Especially if it's a one man show.

    But he already shipped two solid products and is keeping this thread updated with his honest posts.
    I'm more concerned about this particular technique. There are a bunch of talented people (including Epic) who had a though time with that.
    But as I said. It does look promising. Maybe he gets it right.
     
    chelnok and RB_lashman like this.
  26. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749

    I have a bit more confidence in this because it doesnt aim to be the be all and end all - epic's attempt had to work with the rest of the engines features to be feasible, instead this implementation is more for a margin case scenario, which is probably a much more palatable thought when going into it. Atm im working in that margin case (for now) so expectations are reasonable. The technique has had its fair share of knocks (remember the abandoned attempt for unity a couple years back) but i def see something in it, in the right circumstances. Is it possible to mix a voxel cone tracing implmentation for smaller spaces with LPV for larger? Im speaking as an ignorant here, but yeah the right tool for the job and all
     
  27. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
    @nipoco But implementing Realtime GI (no matter which technique) is more advanced stuff than coming up with a Bloom and SSAO solution, don't you think too? And if you followed the history of failed GI in the past, you probably won't have that much faith anymore. There were many people (also one man shows) who presented something like this, but ended up giving it up - either because they were busy doing other things, couldn't afford working on it anymore or simply vanished from the ground. I doubt that we will see this in the near future or ever completed (Voxel Cone Tracing isn't friendly at all), but let's wait and see...
     
  28. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Thanks for the feedback, everyone!

    I understand if you didn't catch this, since it was quite a long post, but I pretty much said that I can't promise that this technique is going to get to the point where I consider it flexible, reliable, and run well enough for me to consider putting it on the Asset Store. The original approach I showed and uploaded a demo of earlier in this thread is pretty simple and lightweight in terms of realtime GI, and I'm still confident that there are people who will find it useful. That's not going anywhere and will be released. Whether or not this voxel-based technique makes it (as an additional option, mind you) is still up in the air.

    So, for those who are skeptical, you're right to be. All I can say is, if it's in me to pull through with this technique, it'll happen. I've really been working on this very hard. I can say that there's a chance that the voxel-based technique have use in outdoor scenes, but it's questionable whether it'll be reliable and artifact-free enough for use with indoor scenes, especially complex indoor scenes, since approximate GI can be a lot more unforgiving in scenarios like that.

    Adding one more texture lookup per-cone would allow for accurately colored skylighting based on an input cubemap. So, yes, that's quite possible.

    I'm using a very similar technique to this: https://developer.nvidia.com/content/basics-gpu-voxelization
    Basically voxelization using one render pass (yes, a camera).
     
    DMeville, chelnok and RB_lashman like this.
  29. nipoco

    nipoco

    Joined:
    Sep 1, 2011
    Posts:
    2,008
    @lazygunn
    Time will tell I guess.

    @Mauri
    That's right. And I tend to agree.
    But at least it looks a lot more promising than all the other efforts for realtime GI, I've seen on Unity's and Unreal's forum so far.
    Like I said, there are a lot other talented people who couldn't get it right. It apparently IS hard. No question. But sometimes it needs just one person to figure it out and push it forward. A lot important inventions were one man efforts, including papers for 3d techniques. Look at Catmull for example.

    Oh no. I never would wait for a certain feature;) I'm more curious if he can handle that, or not. And maybe play with it when he get it done.
    That's why I personally stick mostly with 2D. I hate it to be depended on certain graphical features. If I draw everything, I get what I imagine. But that's another story :)
     
  30. IronDuke

    IronDuke

    Joined:
    May 13, 2014
    Posts:
    132
    *Catches breath*
    If you keep up the awesomeness, I'm going to fall over. Considering the large number of hard things near my computer, that might be painful. But if it means actually getting what you are showing, bring on the pain!
    Seriously though, you are a prodigy. Those screenshots are amazing, and I'm pretty confident there will be a way somewhere to get rid of those pesky artifacts. And even if voxel cone tracing or whatever the heck it's called doesn't work, your first stuff looked awesome enough to make me dizzy (kidding again!) so do whatever you have to!
    You have my support, or at least whatever I am not using for my own products. ;)

    --IronDuke
     
    RB_lashman likes this.
  31. angelodelvecchio

    angelodelvecchio

    Joined:
    Nov 15, 2012
    Posts:
    170
    FOR GOD SAKES ! THIS WILL BE RELEALSED WHEN ?
     
  32. DivergenceOnline

    DivergenceOnline

    Joined:
    Apr 19, 2015
    Posts:
    244
    Looks amazing but I still don't see a solid answer to the question of Unity 4, whether it will work with it or not.

    You've used phrases like "would be trickier" and so on, but that doesn't exactly answer the question.

    This system potentially has even more to offer Unity 4 projects than Unity 5, so the question is, will your GI solution be compatible with at least Unity 4 Pro, if not Free?

    Thanks for your time.
     
  33. pan567

    pan567

    Joined:
    Aug 8, 2015
    Posts:
    7
    I think you deserve a lifetime award
     
    RB_lashman likes this.
  34. Kiliangg

    Kiliangg

    Joined:
    Jun 7, 2015
    Posts:
    1
    Looks super cool! Can you link me up? :p
     
  35. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    This was your absolutely amazing shader packs, wasn't it? :D And this... is MINDBLOWING!

    Speaking of which, although I might burn my laptop for it... may post stats from your standalone build a bit later. (Might not be relevant now though... :D)
     
    RB_lashman likes this.
  36. pan567

    pan567

    Joined:
    Aug 8, 2015
    Posts:
    7
    Is this sparse voxel oct-tree or is it using a 3d texture?
     
  37. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    I think he's using voxel cone tracing for this, of which runs fairly fast on his system. :) Just don't expect this to run at 4K!
     
  38. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Heh... I wish my computer was that powerful... :D (I'm actually serious when i say that, I reckon my laptop would get beaten by this thing!)
     
  39. SAOTA

    SAOTA

    Joined:
    Feb 9, 2015
    Posts:
    220
    Super!!
     
  40. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    This we can all agree on. I especially liked the two shots with the palm trees. so simple... YET SO DAMN AMAZING!
     
    RB_lashman likes this.
  41. rebit

    rebit

    Joined:
    Nov 13, 2014
    Posts:
    133
    Hi, when will be presented with a release ? :) good work Sonic.
     
  42. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
    Unknown:
    He's still working on it, probably experimenting with new stuff. Don't forget that he is also in charge for his SEUS Minecraft Shaders.
     
    Last edited: Aug 20, 2015
  43. rebit

    rebit

    Joined:
    Nov 13, 2014
    Posts:
    133
    Thanks Mauri, but i think this new GI can be applicable not only for games, for example ArchViz and Animations (Filmmaker) is perfect. So Sonic, pls release it for us, scene developers and archviz ! we need this :D
     
    Last edited: Aug 26, 2015
    SAOTA likes this.
  44. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    If we can tweak the parameters it will be great.
     
  45. RosieGarden

    RosieGarden

    Joined:
    May 4, 2013
    Posts:
    33
    This is looking amazing. I'm very much a fan of your minecraft shaders, and I'm happy to see you doing Unity stuff too.
     
    RB_lashman likes this.
  46. Dmitry45

    Dmitry45

    Joined:
    Dec 12, 2013
    Posts:
    8
    any news?
     
  47. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Sorry it's been a while since I've updated everyone. I've run into a few issues with the voxel-based GI and am not sure how to get around them.

    Firstly, at some point in the development process, it just started crashing my PC at random times. Sometimes I can run the effect for an hour before a crash, and sometimes only for a few minutes. Also, some of my test scenes would crash the moment I put the script on the main camera. I thought that it was a hardware problem, but I've tested it on three different PCs now (each with nvidia gpus) and experienced the same thing. I have no idea why this is happening, but perhaps it has something to do with the next issue I ran into.

    Using random write render textures (unordered access views/RWTexture3D) in pixel shaders in Unity 5.1 and newer just doesn't work. I've setup a very bare-bones test project and confirmed this issue. Things work as intended in 5.0, but in 5.1 and newer versions, it just simply doesn't work. Either there is a failure to write to the texture, or a failure to read from it. Either way, this functionality is crucial to GPU voxelization, and voxel-based GI just won't work without it.

    I'm worried about whether or not this issue will be fixed since it seems so few Unity users are utilizing this functionality (otherwise, this bug would have been fixed or noticed). I've done plenty of searching, and I think I'm the only one bringing it to attention so far. I'm not 100% sure on how Unity bug reporting works, since I've never had to report a bug, but in the case that bug priority is based on how many votes it gets, I don't think many people are going to demand this issue be fixed since, again, it seems so few people utilize this functionality.

    There are a lot of possibilities as to why I've been experiencing crashing with this algorithm. It could be a graphics driver related issue (though I've made sure to stay updated on my graphics drivers), it could be a Unity issue, or it could simply be a mistake on my part (though I have a hard time thinking that, it's a possibility). The immediate crashing I did track down to one line of code, and that was the line that tells the voxelization camera to render the scene. This leads me to believe it may be a very obscure Unity bug.

    So, I'm not sure what to do at this point. I suppose I'll just report the bug and put voxel GI on hold until I have more information or until the bug is fixed.

    I've spent longer than I intended trying to get this to work, so I'll be going back to the original approach shown when I first created this thread and begin polishing that up and preparing it for the Asset Store. I apologize for the long wait. I do hope that the single-bounce dynamic GI from a directional light, though it is limited, proves useful for people. I'll keep you guys updated on how the finalization of that goes. :)
     
  48. brute-

    brute-

    Joined:
    Mar 2, 2013
    Posts:
    18
    The single-bounce GI still looks really good! It will be a necessity for some projects that cannot bake lighting.
    Good luck on finding the bug. It sounds like a low-level crash in the engine itself, especially if there are no back-traces or error log. I wonder if it happens only in the editor or in a build too..
     
  49. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Thanks! Yeah, it's strange. The crashes were really odd, too. Sometimes it was just a display driver crash and recover, and sometimes it completely locked up my PC (no mouse movement, no audio, had to hard-reset). In the case of the immediate crashing on load, it was Unity itself that just stopped responding and crashed. I haven't tried running a build yet, so I'm not sure if it's editor-only.
     
    RB_lashman likes this.
  50. FPires

    FPires

    Joined:
    Jan 5, 2012
    Posts:
    151
    That's disappointing (the bug), and I've been there in the past. But your project seems pretty much like the best Dynamic GI solution that has been presented to date, so maybe the problem at hand can get some attention.
     
Thread Status:
Not open for further replies.