mittense
(mittense)
January 31, 2017, 10:54pm
17
Well considering how the UE4 engine uses differed rendering (currently), you run into lots of problems with stuff like this; due to things being screen-space based. As far as I know, to pull off volumetric lighting, in deferred rendering, you’d have to fake it with approximations and/or throw it in post-processing. Now I might be going off into a completely wrong direction with this, but one way you could cheese it into the screen-space would be to put some kind of collision model attached to the light. If that were visible to the camera, it would look up the light info and fake it into the scene. You could use several collision models, attached to the same light, to act as falloff indicators for attenuation. Using some info from the buffers, like scene depth and normals, you could do some post process “overlay” style blending kind of like in photoshop with masks and such.
I could be wrong, but I think that when you’re using a deferred rendering system and want to have volumetrics, it has to do a forward rendering pass ON TOP of the deferred pass. Which is far from optimal. This is probably one big reason why they’ve been working on the forward+ rendering engine. I’d assume that after they get that etched into stone, they will start throwing stuff in like volumetric lighting.
I basically rely on the shadow maps of each light and then construct volumes (of varying tessellation quality) to form the light shafts and then it’s all post from there.