Precomputed Voxelized Shadows

Hey guys do this:

It’d be totally sweet.

This looks fairly interesting, I’m interested to see what someone at Epic thinks about this :slight_smile:

I suspect it wouldn’t suit mobile platforms very well and it wouldn’t fit into console GPU memory spaces, but on desktops it’d be amazing. Around 700MB to store 128k[SUP]3 [/SUP]voxels of shadow data for the level and really fast filtering. Shadows are consistent everywhere, no more dramas with lightmap UVs, etc. Your lights could cast as far as the size of your voxel set and never experience jaggies with increased distances.

Distance field Ambient Occulusion…?
Ray traced soft shadows…?

I think UE has enough features (especially when it comes to shadows) already.
They need to start optimizing things and work more on documentations.

The only yet barren feature is global illumination.
Its stunning how games last gen and this gen have GI tech but ue4 just drops the ball (literally).

This is very similar to distant field lighting operations but probably a bit more pure at a guess. This in itself would be a huge optimisation over precomputed projected shadow maps.

It looks like DFGI is on its way so I wouldn’t stress too much over that one. :slight_smile: Near field GI can’t be far behind it. And given the choice between last-gen GI and next-gen GI I know which one I’d prefer they worked on.

Also Epic keep stressing that shadowing and lighting are different problems in UE. When it comes to CSM that’s true, but the solution above can also represent a merged solution.

The more I read this thread ( the more I realise they’re actually in the process of implementing voxelization as their distance field solution. Kickass and ignore my thread!

I don’t know if I’m right with my impression, but I think I see two approaches to more advanced rendering features between Crytek and Epic.
Crytek goes down the Voxel route with CE3, while Epic chose the way of the Distance Fields in UE4.

I’m not sure which one is better, but as far as I have seen it DFs are still a bit wonky and I always had some issues while testing, but I do hope that Epic can fix these issues and really show how it’s done :smiley:

I’m not across DF enough just yet to fully understand how it’s implemented, but in my mind it’s only one step removed from voxelization, in particular DF feels a bit like an occupancy optimization, which makes sense if you don’t need all the data in the leaf nodes.