diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-02-13 20:50:09 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-02-13 20:52:19 +0300 |
commit | 83ac8628c490eda4fa5237b7a4256bc670dc0682 (patch) | |
tree | 89563a6d46dcea4ea51b70d23b3a73e7637161a6 /source/blender/draw/engines/eevee/eevee_private.h | |
parent | 06492fd61984c1a92fb1f93d30028de97ead451f (diff) |
EEVEE: Update LUT GGX generation shader
This modifies the principled BSDF and the Glass BSDF which now
have better fit to multiscatter GGX.
Code to generate the LUT have been updated and can run at runtime.
The refraction LUT has been changed to have the critical angle always
centered around one pixel so that interpolation can be mitigated.
Offline LUT data will be updated in another commit
This simplify the BTDF retreival removing the manual clean cut at
low roughness. This maximize the precision of the LUT by scalling
the sides by the critical angle.
I also touched the ior > 1.0 approximation to be smoother.
Also incluse some cleanup of bsdf_sampling.glsl
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_private.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index 9761264f03e..17d0ead86c5 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -1518,6 +1518,10 @@ void EEVEE_lookdev_draw(EEVEE_Data *vedata); /** eevee_engine.c */ void EEVEE_cache_populate(void *vedata, Object *ob); +/** eevee_lut_gen.c */ +float *EEVEE_lut_update_ggx_brdf(int lut_size); +float *EEVEE_lut_update_ggx_btdf(int lut_size, int lut_depth); + /* Shadow Matrix */ static const float texcomat[4][4] = { /* From NDC to TexCo */ |