• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Voxel Cone Traced GI (VXGI) coming to CE and UE4

According to Gamespot both Cryengine and Unreal Engine 4 will be getting this GI solution later this year.

http://www.gamespot.com/articles/nvidia-takes-on-next-gen-lighting-with-its-vxgi-gl/1100-6422424/
Nvidia claims VXGI is much easier on the GPU, but the company has built specific hardware processing into the GTX 980 to help things along. VXGI is also coming to third-party engines, including Epic's Unreal and Crytek's CryEngine, later in the year.

From a demo made last month we know the processing time for GI was... GTX 770: 7.4~12.9ms, GTX TITAN: 6.6~9.6ms.

Given its image quality and real time nature, this is very impressive. Star Citizen and the next Unreal tournament with Voxel GI? Awwww yis.
 
So is it the same solution as The Tomorrow Children uses on PS4?

ibpYmCRKUEPrXV.gif
 

HiVision

Member
The way it is described it is most likely almost exactly the same technology we're using for The Tomorrow Children. Because it is somehow hardware supported they might be taking it a step or two higher in resolution (maybe, although I can't find any mention of what the voxel resolution is). The main problem becomes the memory usage for storing higher resolutions in voxels, even when they are cascaded.
 

Inuhanyou

Believes Dragon Quest is a franchise managed by Sony
It IS the same basic tech as the one used in Tommorow children, just much more elaborate and detailed because obviously more power means you can use it on more than just a few bounces and in more than just limited scenarios
 

-SD-

Banned
Video and screens of VXGI in UE 4.6, plus impressions.

http://byzantos.com/nvidia-vxgi/

So what gives? Is this relatively new dynamic GI method worth giving a closer look? I reckon it is! Currently the most accurate solution available. Nothing else comes close if you’re talking about quality versus performance. Even though still a beta, it already impresses with really good colorbleed, AO and its single light bounce. Add to that NVIDIA is looking into integrating a second bounce whilst improving the output and you’ve got a really strong contender for dynamic GI in games and maybe even Arch-Viz.

Good:


  • Accurate ColorBleed from Diffuse
  • Ambient Occlusion (as opposed to Screen Space Ambient Occlusion)
  • Stunning GI from Emissive materials
  • Specular tracing offers an interesting alternative to SSR
  • Looks fairly good on low-settings/low-performance impact
  • Can look incredible on high/extreme settings
  • Excellent tweak and management controls
  • Fairly good range before quality degrades
Bad:


  • Requires recompile of Master-Materials for Voxelization
  • Recompiling Master-Materials takes longer than acceptable.
  • Terrible stability when scene includes animated assets.
  • Prone to small lighting errors even on fully static scenes.
  • No GI from particles.
  • Does not support all Material types.
  • Specular tracing yields rather low resolution for reflections.
  • Small objects still need SSAO and SSR or will ‘float’.
  • Can be tricky to tweak for scene-specific circumstances.
  • Separate Unreal Branch, lagging behind core developments.
  • Slim chance of ever getting integrated into main branch.
In short: Promising.

When it works it looks really good. It does however come with a few strings attached so to call this production-ready is simply too soon. I’ll be keeping my eyes on this one for sure!
 

Orayn

Member
This is in addition to the new GI solution Lionhead is working on, right? Wonder which, if any, will be implemented in the main branch of UE4 first.
 

Newboi

Member
Well, looking at the downsides of implementing Nvidia's VXGI (Edit: removed due to being corrected by Kezen), I find it hard to believe that this will ever be implemented in the main branch of UE4.

If they could have a performent solution that supported dynamic scenes, and probably supported light emitting particles, that would have a much higher chance of being implemented in to the mainline engine. I also wonder if World size factors into its effectiveness within its current implementation? Would this be able to be used in a game like Skyrim?
 

Damerman

Member
Looks unbelievable indeed but it's very, very costly. I expect to see this tech in two-three years in PC games.

well then whats the point... the first GI solution for the unreal engine 4 was too costly, and now this one to? i thought that the whole point of this was to have some kind of GI rather than none.
 

Newboi

Member
VXGI works on Kepler GPUs and GCN as well. It's not Maxwell only.
https://www.youtube.com/watch?v=cr-GToUHino#t=3165

My mistake, thanks for the correction.

By the way hasn't the UE4 team been talking about a new GI solution based on knowledge gained creating their Raytraced Distance Field Shadows? Wasn't the recent "A Boy and His Kite" demo using real-time GI?

I wonder if Epic's new solution already gives similar, if not better, results than VXGI?
 

Kezen

Banned
well then whats the point... the first GI solution for the unreal engine 4 was too costly, and now this one to? i thought that the whole point of this was to have some kind of GI rather than none.

UE4 already has GI and so does plenty of other engines. No idea what you mean by "none".

But VXGI requires too much horsepower for now, the point is that the technology is ready and we only need more powerful hardware.

In the meantime, UE4's default GI solution gives good results.
 
But VXGI requires too much horsepower for now, the point is that the technology is ready and we only need more powerful hardware.
The list of pros and cons above seems to indicate this solution has the same strengths and drawbacks as the Tomorrow Children implementation. Any idea why that one doesn't require more powerful hardware?
 

Kezen

Banned
The list of pros and cons above seems to indicate this solution has the same strengths and drawbacks as the Tomorrow Children implementation. Any idea why that one doesn't require more powerful hardware?

Possibly because VXGI must be a much, much higher quality implementation.
 

Damerman

Member
UE4 already has GI and so does plenty of other engines. No idea what you mean by "none".

But VXGI requires too much horsepower for now, the point is that the technology is ready and we only need more powerful hardware.

In the meantime, UE4's default GI solution gives good results.

this is not making any sense to me... which is the better solution;sparse voxel octree global illumination or this new one?
 

Kezen

Banned
this is not making any sense to me... which is the better solution;sparse voxel octree global illumination or this new one?

Depends what you mean by "better". VXGI is cutting edge stuff but obviously not as practical as other GI solutions.

Which is why I don't expect it to make it in PC games right now, or maybe they'll try to create a much lower quality implementation.
Could help for AO.
 

Damerman

Member
Depends what you mean by "better". VXGI is cutting edge stuff but obviously not as practical as other GI solutions.

Which is why I don't expect it to make it in PC games right now, or maybe they'll try to create a much lower quality implementation.
Could help for AO.

better as in, able to run in real time and in-game.
 

Kezen

Banned
better as in, able to run in real time and in-game.

It can but the cost (runtime and production wise) is perhaps too significant for developpers to consider it right now. Unless Nvidia simply throw money at them.

The fact that two major engines support it is great but no guarantee that we will see it in our PC games in the very near future.
 

_machine

Member
well then whats the point... the first GI solution for the unreal engine 4 was too costly, and now this one to? i thought that the whole point of this was to have some kind of GI rather than none.
Because eventually it'll be possible, but it will also need hundreds of man-years of iteration before it'll reach the point where it's feasible to use as a developer and feasible for the target platforms. Tech like this takes a long time to reach the maturity where it's feasible to use, but you still need to actively develop and research the matter to make it happen.
 

Newboi

Member
Depends what you mean by "better". VXGI is cutting edge stuff but obviously not as practical as other GI solutions.

Which is why I don't expect it to make it in PC games right now, or maybe they'll try to create a much lower quality implementation.
Could help for AO.

From the impressions above, it looks like VXGI's current implementation doesn't fare too well in non-static scenes (scenes with moving/animated entities). It also doesn't support light being emitted from particles.

I thought UE4's original Sparse Voxel Octree based fully dynamic global illumination system didn't have the above issues (aside from the SEVERE performance impact)?
 

Kezen

Banned
Realistically it's probably going to be a way off I bet. But bear in mind, those results seem to be from Titan and not Titan X.

Good catch. I read it as Titan X.
I ran the VXGI demo and it hovered around 20fps at 1080p on my 970. Definitely not there yet.

From the impressions above, it looks like VXGI's current implementation doesn't fare too well in non-static scenes (scenes with moving/animated entities). It also doesn't support light being emitted from particles.
I thought UE4's original Voxel Octree based fully dynamic global illumination system didn't have the above issues (aside from the SEVERE performance impact)?
I don't remember the details, but I know the original demo ran on a single 680 at 30fps. Static scene of course.

Edit : here's some details about the GI tech used in the demo :
The technique is known as SVOGI – Sparse Voxel Octree Global Illumination, and was developed by Andrew Scheidecker at Epic. UE4 maintains a real-time octree data structure encoding a multi-resolution record of all of the visible direct light emitters in the scene, which are represented as directionally-colored voxels. That octree is maintained by voxelizing any parts of the scene that change, and using a traditional set of Direct Lighting techniques, such as shadow buffers, to capture first-bounce lighting.

Performing a cone-trace through this octree data structure (given a starting point, direction, and angle) yields an approximation of the light incident along that path.

The trick is to make cone-tracing fast enough, via GPU acceleration, that we can do it once or more per-pixel in real-time. Performing six wide cone-traces per pixel (one for each cardinal direction) yields an approximation of second-bounce indirect lighting. Performing a narrower cone-trace in the direction of specular reflection enables metallic reflections, in which the entire scene is reflected off each glossy surface.

[Editor's Note: If the above sequence seems alien to you, it's because it is. Global Illumination requires a totally new lighting pipeline. In a traditional game, all indirect lighting (light that is bounced from a surface) is calculated in advance and stored in textures called lightmaps. Lightmaps give game levels a GI-look but since they are pre-computed, they only work on static objects.

In Unreal Engine 4, there are no pre-computed lightmaps. Instead, all lighting, direct and indirect, is computed in real-time for each frame. Instead of being stored in a 2D texture, they are stored in voxels. A voxel is a pixel in three dimensions. It has volume, hence the term "voxel."

The voxels are organized in a tree structure to make them efficient to locate. When a pixel is rendered, it effectively asks the voxel tree "which voxels are visible to me?" Based on this information it determines the amount of indirect light (Global Illumination) it receives.

The simple takeaway is this: UE4 completely eliminates pre-computed lighting. In its place, it uses voxels stored in a tree structure. This tree is updated per frame and all pixels use it to gather lighting information.]

http://www.geforce.com/whats-new/articles/stunning-videos-show-unreal-engine-4s-next-gen-gtx-680-powered-real-time-graphics
 

Newboi

Member
I don't remember the details, but I know the original demo ran on a single 680 at 30fps. Static scene of course.

Unless I'm misunderstanding the meaning of a static scene, wasn't the original Elemental Demo non-static?

Here's the original walkthrough of the engine when the SVOGI system was originally in place:

https://www.youtube.com/watch?v=MOvfn1p92_8

There looks to be lots of dynamic elements even in the dev walkthrough.

Here's the original elemental demo:

https://www.youtube.com/watch?v=lY20pxEQM-A

Edit: Man, It's crazy how much more amazing this original demo was in retrospective.
 

Kezen

Banned
Unless I'm misunderstanding the meaning of a static scene, wasn't the original Elemental Demo non-static?

Here's the original walkthrough of the engine when the SVOGI system was originally in place:

https://www.youtube.com/watch?v=MOvfn1p92_8

There looks to be lots of dynamic elements even in the dev walkthrough.

Here's the original elemental demo:

https://www.youtube.com/watch?v=lY20pxEQM-A

Edit: Man, It's crazy how much more amazing this original demo was in retrospective.

If it's truly ahead of Nvidia's take on GI then I have no idea how they managed to make it run on a single 680, especially when we factor in the poor compute performance of the GK104.
 

Newboi

Member
If it's truly ahead of Nvidia's take on GI then I have no idea how they managed to make it run on a single 680, especially when we factor in the poor compute performance of the GK104.

I'm not arguing that Nvidia's implementation isn't better than SVOGI at all. I was more so going off of listed VXGI downsides that it's not yet at a place where it would be integrated into the mainline UE4 branch.

I assumed the biggest issue why SVOGI never made it into UE4 was because it could never run on consoles? Did Epic ever actually release a specific statement about the limitations of their original realtime GI solution? At the time, it looked like they were expecting the consoles to be alot more powerful than they ended up being, which caused them to severely scale back their engine planes.
 
Holy crap, rendering is reaching some insane heights. That tech seems like it's more than capable of making animated films at this point without the horde of rendering farms. I don't think my 970 will get much out of this, but would it be worth investing in the next wave of cards?
 
Top Bottom