diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-05-14 18:39:18 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-05-14 18:41:05 +0300 |
commit | 59404853698d01892ee5c609755ffad7ee57c3b9 (patch) | |
tree | 46f8e424bb1ccfa3f02194487d594e2c7a4b4afc /source/blender/draw/engines/workbench | |
parent | 16d8a683be4348b5c6eff48cbb16c7454863d9ea (diff) |
Fix T76168 Workbench: Shadows behind a culled backface are inverted
Diffstat (limited to 'source/blender/draw/engines/workbench')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_shadow.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_shadow.c b/source/blender/draw/engines/workbench/workbench_shadow.c index efd0ad9134e..2cf5f3c4c13 100644 --- a/source/blender/draw/engines/workbench/workbench_shadow.c +++ b/source/blender/draw/engines/workbench/workbench_shadow.c @@ -333,6 +333,11 @@ void workbench_shadow_cache_populate(WORKBENCH_Data *data, Object *ob, const boo use_shadow_pass_technique = false; } + /* We cannot use Shadow Pass technique on non-manifold object (see T76168). */ + if (use_shadow_pass_technique && !is_manifold && (wpd->cull_state != 0)) { + use_shadow_pass_technique = false; + } + if (use_shadow_pass_technique) { grp = DRW_shgroup_create_sub(wpd->shadow_pass_grp[is_manifold]); DRW_shgroup_uniform_vec3(grp, "lightDirection", engine_object_data->shadow_dir, 1); |