Blender Git Loki
Git Commits -> Revision 83ac862
Revision 83ac862 by Clément Foucault (master) February 13, 2021, 17:52 (GMT) |
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 |
Commit Details:
Full Hash: 83ac8628c490eda4fa5237b7a4256bc670dc0682
Parent Commit: 06492fd
Lines Changed: +303, -282
15 Modified Paths:
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_lut_gen.c (+70, -118) (Diff)
/source/blender/draw/engines/eevee/eevee_materials.c (+17, -4) (Diff)
/source/blender/draw/engines/eevee/eevee_private.h (+4, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_shaders.c (+2, -5) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_lut_frag.glsl (+42, -33) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_sampling_lib.glsl (+9, -32) (Diff)
/source/blender/draw/engines/eevee/shaders/btdf_lut_frag.glsl (+64, -37) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl (+1, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl (+59, -35) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl (+4, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl (+4, -5) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl (+4, -1) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glass.glsl (+15, -6) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl (+7, -4) (Diff)
/source/blender/draw/engines/eevee/eevee_lut_gen.c (+70, -118) (Diff)
/source/blender/draw/engines/eevee/eevee_materials.c (+17, -4) (Diff)
/source/blender/draw/engines/eevee/eevee_private.h (+4, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_shaders.c (+2, -5) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_lut_frag.glsl (+42, -33) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_sampling_lib.glsl (+9, -32) (Diff)
/source/blender/draw/engines/eevee/shaders/btdf_lut_frag.glsl (+64, -37) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl (+1, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl (+59, -35) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl (+4, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl (+4, -5) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl (+4, -1) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glass.glsl (+15, -6) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl (+7, -4) (Diff)