Blender Git Loki
Git Commits -> Revision fe00859
Revision fe00859 by Clément Foucault (eevee-closure-lib-cleanup, eevee-ggx-lut-fix, eevee-probe-roughness-fix) February 7, 2021, 17:03 (GMT) |
EEVEE: Rewrite closure_lit_lib to reduce complexity This rewrite improves: - Code clarity: Less duplicated code and removes a few hacks. - Compile time performance: Shader code was divided by 3 in average. I did not profile the compilation time but it is faster. - Shading Perf: Noticed a 25% performance improvement on the shading pass with default dielectric principled bsdf. - Fix Principled Tint being white if color is black - It seems to have fixed issues on some drivers giving some incorect results. - Changes Principled BSDF support to be less hacky. |
Commit Details:
Full Hash: fe008592024c3081c5b43b82482d46e41262fdb1
Parent Commit: e49b702
Lines Changed: +1266, -997
23 Modified Paths:
/source/blender/draw/engines/eevee/eevee_screen_raytrace.c (+6, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_shaders.c (+1, -15) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl (+2, -8) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_lib.glsl (+17, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_lit_lib.glsl (+687, -475) (Diff)
/source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl (+15, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl (+75, -60) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl (+3, -4) (Diff)
/source/blender/draw/engines/eevee/shaders/lights_lib.glsl (+19, -42) (Diff)
/source/blender/draw/engines/eevee/shaders/shadow_accum_frag.glsl (+5, -3) (Diff)
/source/blender/draw/engines/eevee/shaders/surface_lib.glsl (+10, -2) (Diff)
/source/blender/draw/intern/shaders/common_math_lib.glsl (+12, -0) (Diff)
/source/blender/gpu/GPU_material.h (+1, -0) (Diff)
/source/blender/gpu/intern/gpu_material_library.c (+8, -0) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_diffuse.glsl (+19, -4) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl (+55, -25) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glass.glsl (+31, -22) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl (+23, -14) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl (+221, -290) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_refraction.glsl (+22, -7) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl (+22, -10) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_translucent.glsl (+12, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c (+0, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_shaders.c (+1, -15) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl (+2, -8) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_lib.glsl (+17, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/closure_lit_lib.glsl (+687, -475) (Diff)
/source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl (+15, -1) (Diff)
/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl (+75, -60) (Diff)
/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl (+3, -4) (Diff)
/source/blender/draw/engines/eevee/shaders/lights_lib.glsl (+19, -42) (Diff)
/source/blender/draw/engines/eevee/shaders/shadow_accum_frag.glsl (+5, -3) (Diff)
/source/blender/draw/engines/eevee/shaders/surface_lib.glsl (+10, -2) (Diff)
/source/blender/draw/intern/shaders/common_math_lib.glsl (+12, -0) (Diff)
/source/blender/gpu/GPU_material.h (+1, -0) (Diff)
/source/blender/gpu/intern/gpu_material_library.c (+8, -0) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_diffuse.glsl (+19, -4) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl (+55, -25) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glass.glsl (+31, -22) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl (+23, -14) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl (+221, -290) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_refraction.glsl (+22, -7) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl (+22, -10) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_translucent.glsl (+12, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c (+0, -1) (Diff)