First Pass Realtime Volumetric Light Scattering

Thnaks for the update. It looks good, veeery good :smiley:

This is really neat. It’s something I’ve wanted to have as a way of creating atmospheric god rays and the like without manually placing every one (and thus lacking dynamism). Would it be possible to attentuate it via angle or axis as well? For instance you only have it shining down, but not towards the camera, or you have it shining along the x or y axis but not the z. That way it can take the limitations of the current godray system in unreal in specific places but still be dynamic and react to scene effects.

Awesome work, would love to eventually test this out as i have quite a few vents / fans in my game.

Will your implementation work with every light type (directional/spot/point)?

Uploaded to github for anyone that wants to try it out, keep it mind the known bugs this is a !!!very!!! !!!experimental!!! feature.

Right now it’s only been tested with spot lights, it should work with point lights right now.

Added a description of the VLS light attributes.

Interesting slides about Frostbite’s volumetric rendering:

It was a great read, and I hope to get this system as robust as the one in Frostbite :).

So I got the VLS down to 2.2ms for the VLS Render and 0.49 for the VLS Upsample pass. The bilateral filter isn’t in yet so the quality is no were near what it should be but the perf is pretty good right now.

For now if anyone wants better quality then can decrease r.CVarVolumetricLightScatterDownSample to 2 (which makes the VLS Render pass render at 5ms), hopefully soon I can get in the bilateral up-sample filter.

All I can say is, keep up the good work! It would be amazing if your integration will eventually be integrated into the main branch.

Page not found ? :frowning: