Realtime Dynamic GI + Reflections + AO + Emissive - AHR

Give guy a cookie! Exactly man, is a curse.
Now, getting serious, I plan to test the new voxelization pipeline on my demo first, and then start to work on the UE source. I actually haven’t finished it, but it shouldn’t be that hard (well, hope so…)

Just wanted to say that I’m still working on , but I’m going trough some major reworks right now, and because of that advance on the integration side is going a bit slow. Still, hope to have some screens to show somewhere along next week.

Looking forward to it!

Subbing thread.

I’m not an English speaker, so you caught me a little off guard. What did you mean by that :slight_smile: ?

Meaning he is subscribing to your thread. :slight_smile:

Oops, that was a bit embarrassing… Anyway, thanks for the info :slight_smile:
I actually got to implement the changes I talked about a while back( well, some of them), and I don’t need one of the Voxel grids anymore, so 512 Mb less right there. The only thing was that I had to give up emissive materials , but that’s unacceptable, so I need to add a few more bits on the Voxel grid, and that’s gonna increase memory usage.

EDIT: Solved it, wasn’t compiling some files

How’s it going man? Good luck on polishing it, looking forward to updates!

Well, yesterday I started to get my hands into the engine source. I already have blocked put the changes I need to make, so shouldn’t be too long until I have some screens. Gotta give a warning though, development will be hampered weekend by Evolve’s Big Alpha :wink:

I’m so looking forward to ! I have two questions about your technique:

  1. How do you expect it to handle transparent materials like glass? One problem that LPV in UE4 suffers from is that it crashes when trying to do transparencies (unless disabled). Although, that could just be a bug.
  2. What version of UE4 do you plan on it releasing it for? Will it be able to intereact with some of the new features (i.e screen space SSS, ray trace soft shadows, DFAO)?

First of all, while the techinque itself is quite developed, I’m still on the early stages when it comes to UE4 integration. So no way I’m talking about versions right now :wink:
I will add the global illumination to the direct lighting buffer, which is quite early in the pipeline, so most things should work.
In theory, transparency and participating media, such as smoke and fog could be lit by indirect bounces, but that will require me to re-work some parts, and I want to get it working first.
Lastly, AHR supersedes DFAO, as rendering AO doesn’t have any performance penalty over just computing indirect lighting, and the quality is about the same.

Excellent work. One notice though, why shadows do flicker very much when you changed the direction of sunlight at 0:44 : shadows cast on the ground and especially the spheres? Don’t you use Ray Traced Distance Field Shadows ? I know reflections and shadows can be very tricky when applied on round objects or spheres but still is very noticable. I hope you correct it. Looking forward to try your work. :slight_smile:

The demo on the video uses just plain old shadow mapping, because I built it from scratch, is not based on any engine. Still, I can’t see what you mean. Do you mean the shadows from the sun or something caused by the GI? If it’s the sun’s shadows, I agree that my implementation is ugly, but then again, is just simple shadow map with one buffer and 8 taps PCF.

Yes I meant the shadows created by the sun. But with Ray Traced Distance Field Shadows in UE4, you won’t have problems with it right?

You’re probably right. Still, no need for raytraced shadows, a proper csm implementation doesn’t have that problems, or at least are well hidden. My shadow implementation was as basic as possible, was interested on GI.

How many bounces do you have? one or 2? Does it work with dynamic meshes or objects or characters? Also how faar can you apply it in open environment with mountain like settings?

If you can, can you please tell me what is the difference between your technic and : https://www.youtube.com/watch?v=_E1oVl2d01Q
http://www.geforce.com/hardware/technology/vxgi/technology

https://developer.nvidia.com/gi-works (Dynamic specular is good in the dinosaur scene).

And : Geomerics Enlighten Finally supports UE4 - Community & Industry Discussion - Epic Developer Community Forums

And (made using Cryengine though) : https://www.youtube.com/watch?v=8PCnkJBvIrY

You can download the demo and try it , look in the description and see hsi channel for other videos. I noticed that the reflections caused by those emissive balls when applied on the spheres are blocky and look like vulgar pixels.

I hope we won’t get those artifacts with your . He has 2 bounces though. The Tomorrow Children uses a tech with 3 bounces and 16 light tracing directions per voxel. You can read about it here:

http://www.dualshockers.com/2014/08/12/the-tomorrow-children-announced-as-playstation-4-exclusive-trailer-and-screenshots-released/

http://www.dualshockers.com/2014/08/13/ps4-exclusive-the-tomorrow-children-uses-new-ray-tracing-tech-with-real-reflections-more-info-shared/

http://www.dualshockers.com/2014/09/03/ps4-exclusive-the-tomorrow-children-shows-its-amazing-lighting-technology-with-new-wip-screenshots/

http://www.dualshockers.com/2014/09/03/ps4s-powerful-async-compute-tech-allows-the-tomorrow-childrens-developer-to-save-5-ms-per-frame/

http://www.dualshockers.com/2014/10/24/the-tomorrows-childrens-impressive-tech-on-ps4-showcased-by-new-videos/

http://www.dualshockers.com/2014/10/25/the-tomorrow-children-on-ps4-lots-of-info-shared-uncharted-4-and-more-to-use-similar-lighting-tech/

http://www.dualshockers.com/2014/10/29/ps4-exclusive-the-tomorrow-children-gets-more-info-on-its-impressive-tech-and-gameplay/

http://www.dualshockers.com/2014/10/31/the-tomorrow-children-uses-3-types-of-anti-aliasing-on-ps4-1080p-video-released-alpha-info-next-week/

They are using Octane Render :http://www.neogaf.com/forum/showthread.php?t=887777

You can download PDF here : http://fumufumu.q-games.com/archives/2014_09.php#000934

To be honest, I am very interested in your tech since it has the best ratio quality/performance. Keep the good work man :smiley:

Edit: GDC 2015 PDF is out: http://fumufumu.q-games.com/archives/TheTechnologyOfTomorrowsChildrenFinal.pdf

1 Like

Sorry for taking long, been having little spare time. Is one bounce, but could be extended to multiple bounces. Performance is probably a problem tough.
At start it will work only for dynamic and static objects, but particles and others could be added later.
Regarding NVIDIA’s technique, they are quite similar, with the fundamental difference that I use raytracing instead of conetracing. I also have a way more simple voxelization pipeline and I use just one binary Voxel grid, the irradiance gets reconstructed using some dark magic that I can’t talk about for now :wink:

Haha cool! Looking forward to try out your version :smiley:

Question.
Wouldn’t Cone tracing (or rather Sphere Tracing), improve performance ? way you could probably get away with smaller amount of traces.

I’m not sure really, as the few demos I tested about Voxel cone tracing where slower than AHR, sometimes AHR running even twice as fast. It might have to do with the way tracing works, using a binary grid to do the tracing. On the perfect case( a ray going on a straight Voxel line up) each sample loads 32 voxels