3097d5d821
This uses the principles outlined in Screen Space Indirect Lighting with Visibility Bitmask to compute local and distant diffuse lighting. This implements it inside the ray-tracing module as a fallback when the surface is too rough. The threshold for blending between technique is available to the user. The implementation first setup a radiance buffer and a view normal buffer. These buffer are tracing resolution as the lighting quality is less important for rough surfaces. These buffers are necessary to avoid re-projection on a per sample basis, and finding and rotating the surface normal. The processing phase scans the whole screen in 2 directions and outputs local incomming lighting from neighbor pixels and the remaining occlusion for everything that is outside the view. The final steps filters the result of the previous phase while applying the occlusion on the probe radiance to have an energy conserving mix. Related #112979 Pull Request: https://projects.blender.org/blender/blender/pulls/114259