303f91a09c
Implement the design discussed in #120384. This adds two parameters. One for changing the approximation method, and another to use the thickness from shadow map. We pack the former in the gbuffer by dividing the 16bits used for thickness by two and use one bit to store the method. The thickness from shadow map is now decoupled from the light evaluation shader. This makes it more performant and compatible with ray-tracing. This commit also uses the same biases as shadow mapping to avoid aliasing artifacts (fix #119339). This refactors the light evaluation quite a bit to remove unused bits bits and make the whole transmission light evaluation without too much complexity. Pull Request: https://projects.blender.org/blender/blender/pulls/121171