Svogi

Epic,

Would there be anyway possible to add back the SVOGI code to UE4? I understand it was removed for various reasons such as not being able to scale well since it needs an extremely beefy GPU and UE4 needing to also handle large scenes, etc. But for those of us who have top end hardware that would like to tinker with this for our own personal use and education it would be really nice to have this back in the engine. Maybe as an experimental branch or something?

I’d implement this myself but since you guys already have an implementation that would make things much easier/faster. :slight_smile:

Thanks.

I second this. Can we get an experimental build with SVOGI? Sort of like a separate branch. Even if it was not being updated, just the old version that was canceled, it would still be nice to experiment with. Is there any chance of this happening? :slight_smile:

Have a look at this thread:

How to enable Light Propagation Volumes GI [ WIP AND BETA]

I also vote for this. If or any other Epic staff is seeing this, please include the SVOGI code. Personally i am very much excited to try it out. Even if its the old code that was used to demonstrate the Elemental Demo, we’ll be happy. Please include SVOGI. It was amazing!

I’m aware of that, but it’s not the same thing. SVOGI is more expensive, but produces better visual results.

That definitely quenched some of my thirst for dynamic GI, but seeing the full awesomeness of voxel tracing for myself would be epic. So our request is less urgent than before, but still stands. :slight_smile:

Also…LPV only generate GI from the directional light and no other light sources…which is still cool, but also not complete realtime GI how I would understand it (since all other light dont contribute to the GI)
So BUMP for bringing SVOGI back to the game! :smiley:

In all honesty guys, I wouldn’t expect SVOGI to return for at least another 2 years, if at all.

While SVOGI was incredibly powerful, it was so incredibly expensive. The tech demo we saw over a year ago was running on two overclocked GTX 680’s, the most powerful setup available at the time.

Regardless of whether it’s SVOGI or not, Epic needs to come up with some fully dynamic (meaning: all lights, all objects, no compilation time) global illumination solution, and quickly. CryEngine has it, Frostbite has it, and Enlighten has managed to do it on both UE3 and UE4 with good looks and good performance. It’s so frustrating that we STILL do not have a fully dynamic global illumination solution, even for high-end machines. Enlighten has proven that it can be done.

I’m sure they are looking into a SVOGI replacement and it will be fully dynamic solution base on what Epic programmer mention online. nVidia GI works might be a good replacement? but I don’t know how tax it is on a system: https://developer.nvidia.com/gi-works. It might not be practical because UE4 was meant to be devoid of any third party solution,because UE4 source code is public.

Also check out “Object-order ray tracing for fully dynamic scenes” http://cg.ibds.kit.edu/ORTFDS.php

As SonKim said, i dont think Nvidia GI Works (It looks cool though) will be available because UE4 source code is available to us. I hope Epic will introduce something for fully dynamic solution very soon.

I think you look at this topic a little bit blue-eyed! I only had the chance to work with the Frostbite 2 and its GI solution was Enlighten and it’s not that easy to handle as you may think. The last time i checked the CryEngine they just had LPV as GI solution with almost no options to tweak it. In the UE4 you have the same with only two differences between them, in the UE4 you can tweak the LPV through the PP-Properties but you don’t have AO (for now) in the CE you have almost no options to tweak it but you have AO.

Maybe introduce SVOGI as an optional plugin?

Yep, and to add to that, Cryengines LPV only support GI from the main sunlight. UE4 has that limitation as well (for now…there are options to add point lights to the realtime GI as well, but they dont do anything)
And Frostbite with Enlighten…I havent worked with that yet, but we had Enlighten implemented into UE4 at the office and while it does provide dynamic GI for EVERYTHING…it still has a lot of things that need to be done correctly for it to work.

And you still need to precompute the levelgeometry so GI can be dynamic on runtime (and it takes longer than lightmass to do so). Also…moving objects dont contribute to the GI…they only get it. So actually, there is no other Engine yet that has fully dynamic GI for everything instantly without waiting time :wink:

PS: But I would love to see for example how the Snowdrop Engine handles GI or that other new Engine from Ubisoft which they used for the AC: Unity demo :wink: (BTW…I think that Snowdrop is using something similar to Enlighten since they store the GI data for movables in spherical harmonics as well)

At this time i prefer the UE4 way even in its current unfinished way. Besides the fact that i can control the LPV i also have the option to fake GI much easier than in any other engine by using Blueprints. Setting up a light with fill or bounce lights is actual pretty easy you can even trace the distance to nearby geo and scale the intensity of the bounce light based on the trace distance. At the moment i do have this just in rough way for static geo but i bet this can be done for dynamic objects as well. If this would be performance friendly or practical stands on another paper but it’s possible.

The key in game development always WAS AND IS to think outside the box, abuse what you have for whatever you need it! Even if Epic comes up with a performance friendly SVOGI -like solution, there will be still limitations which we have to work around.

I just had a little chat with some guys from our company, and nvidia GI works doesnt seem to get the job done, because from what I understood, its basically the same as SVOGI :wink: (and then there is also the third party thing^^)
However…one of our TAs showed me this, which looks pretty interesting to be honest :smiley:

Edit: Here is the paper for this: Max-Planck-Institut für Informatik: Data Protection

SSDO is already in use in CryEngine, and could easily be added to UE4, it’s just a post process effect.

That being said, it still does look good even with it’s limitations.

Yeah…but I honestly didnt know you could achieve convincing GI with it :smiley:

SVOGI was a development idea, and an early one at that. More about pointing to how we can speed up rays then memory management. The following white paper took this even further with efficient ish ideas using DAG’s.

This is more the direction i want epics research heading then a version of SVOGI. Ive also been looking into this as a means to speed up secondary rays for Blender Cycles rendering but also real-time rendering. Ive been trying to explain the idea of using 4D visibilty field maps to encode secondary intra/inter reflection data (just wrap a sphere round the object with a perfect vertex grid spacing and firing rays at the object as an offline process and storing the results to an image map, Basicly a secondary ray per object image map bake like any other bake like normals etc).

Mixing the pre bake 4D visibility maps with sparse voxel DAG’s is far better. This also opens up the ability of realtime efficient path tracing / ray tracing, idea being the 4d map is then remapped to the objects AABB (bounding box) so you only have to trace a small amount of rays against objects bounding volumes which then contain the secondary ray information in the image map bake. This also means only having to have 4d ray maps loaded in memory for objects relevant to screen space, far more efficient then irradiance caching or other old school secondary ray bake methods.

I started a thread in the feed back forum for epic about this days ago but had no reply but guess devs are busy.

Just hope someone at epic see’s it a) and understands my point b). :slight_smile:

Doesn’t surprise me since SVOGI was created by Cyril Crassin who works in NVIDIA Research.