Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-05-14 18:39:18 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-05-14 18:41:05 +0300
commit59404853698d01892ee5c609755ffad7ee57c3b9 (patch)
tree46f8e424bb1ccfa3f02194487d594e2c7a4b4afc /source/blender/draw
parent16d8a683be4348b5c6eff48cbb16c7454863d9ea (diff)
Fix T76168 Workbench: Shadows behind a culled backface are inverted
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/engines/workbench/workbench_shadow.c5
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);