GI implementation
Closed this issue · 1 comments
Hi. I've read this paper some time ago and it looked promising. I'll have to read it again to refresh my memory though.
The current approach in AnKi is somewhat different though. The artist will have to place some reflection probes around the level. The reflection probes are spheres ATM. When the level loads the renderer will see if the probe is dirty (new probes are dirty). If it is it will render to a cubemap everything around it. The output of the rendering is the output of the light pass (in HDR). From this I integrate to compute another smaller cubemap which is the probe's irradiance.
The cluster based deferred light pass will bin the probes just like the lights. The light pass will use the probe to extract the reflection and the irradiance. And that's how indirect is currently implemented. I had reflection probes and with some minor modifications I used them for indirect lighting as well.
It's not realtime but maybe it could be. Now every probe stores 2 cubemaps (environment and irradiance). In addition to those it could store depth+normals+whatever gbuffer pass stores so in realtime it could just perform the light pass.