Its amazing to see youre working on a so requested feature from the community.
I’m here for a few months already and only yesterday bought a computer that was enough to run it - I stayed all this time waiting to run Unreal instead other engines mainly because this contact we can have with developers, this is really !!!
Please keep sharing the progress and explanations, I remember when was said that the Distance Fields could be used by GI but had no idea of how this could be implemented or if it would be able to run on production, after your explanation and screenshots I’m much more confident about it
Oh I’m certainly not saying VPLs are terrible, just another thing to consider and they don’t work well with glossy reflections, though I do recall Squeenix work on spherical guassian representations of VPLs for improved VPL reflection behavior.
No my point was in terms of data structures the two aren’t that different, except voxels have very nice filtering aspects automatically from hardware supported mipmapping. Sparse resources and cascading LOD can get 10cm resolution and smaller into a very compact memory presence as well, since you only end up storing null pointers for all the empty space.
I don’t mean to sound like I’m insulting the distance field stuff, it’s just that in my experience I like voxel representations better. With 3d textures instead of sparse voxel octrees I’ve found you can get much, much better performance as well, since you’re not bouncing around in memory everywhere and have a predictable and coherent structure to trace through.
I’m having trouble getting this to work.
Got r.DistanceFieldGI=1 and r.GenerateMeshDistanceFields=1 in ConsoleVariables.ini
Attached a movable skylight to the scene.
Even when I turn on Visualize -> Distance Field Global Illumination it shows complete blackness.
Ok I compiled it from sources and decided to test. For the sake of it I used broadleaf tree, single landscape (2k) and dynamic lights.
With distance field enabled rendering something like 650 instanced of this tree took 22ms (about 44fps).
Rendering without distance fields took like 18ms (about 55fps).
At this point, I think the bigger problem was amount of trees, than the fact they had distance fields on them. In more realistic scenarios you would probabaly never rendering this amount of things at once.
One problem I noticed though is that seem like Distance field shadows got backfired, since they seem to not work, even though, they are enabled.
Bah. For some reason DistanceFieldShadowing variable was on 0.
Now difference between enabled and disabled GI on the same scene is about 2ms. And that’s on Draw (draw is CPU time ?).
For me that’s good enough! To be perfectly useable. Especially in more realistic scenario, than spamming trees all around on giant landscape load entirely at once ;).
I’m impressed. Waiting for more informations!.
Edit:
To be clear. Enabling DFAO on tree + GI is well worth it, since they look like 10x times better with AO alone ;).
And I used the foliage lighting model in material.
Ok, so I think the screen space version works in 4.7 as part of the AO - maybe because I’ve been able to build the lighting. However, in change 2390645, I can’t seem to build lighting - comes up with a staticmesh error.
Just want to say, please don’t take stuff to heart , there are a lot of people who wouldn’t normally post (me included) who hugely appreciate and value your posts but don’t show it. It’s looking really and I love the breakdowns, really want to see more and would be very grateful if you continued to post.
Hey . I completely agree with jestersheepy. Your work looks amazing and I am personally extremely excited about this, as I’ve wanted to start a project but cant until there is some form of realtime GI and your solution would be perfect for it. Thanks and keep up the great work !!
Really cool stuff. I’ve been playing with it for a couple hours and the results are great for preliminary work.
If I can request something though: would it be possible to use DFAO (and the future GI) with baked stationary lighting? I want to bake a skylight and use the DFAO/GI ontop of it for realtime night/day + movable objects.
Am I bumping this thread? Yeah, I’m bumping this thread. This thread deserves to be bumped. This looks AMAZING!!! And cost-effective, too! Please, continue to flood us with pretty pictures of GI. It’s been around in some form for at least four years, but it’s still not getting old at all! It looks . Hopefully the final GI solution will work with pointlights (important) and emissive (more of a want than a need), but I’m getting all giddy again at the thought of dynamic GI actually happening. Yes, Epic, please take my money.