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:
authorYiming Wu <xp8110@outlook.com>2022-06-29 17:54:29 +0300
committerYiming Wu <xp8110@outlook.com>2022-06-29 17:54:29 +0300
commit6dd8ceef2a21f64cbb61a96560c50c162f9dae39 (patch)
treedff82af871b36d7df37213cdcc2a94dfd1ca70b2 /source/blender/blenkernel/intern/gpencil_modifier.c
parent2ac5b55289d361de7fccc9be188b98df358ab932 (diff)
LineArt: Shadow and related functionalities.
This patch includes the full shadow functionality for LineArt: - Light contour and cast shadow lines. - Lit/shaded region selection. - Enclosed light/shadow shape calculation. - Silhouette/anti-silhouette selection. - Intersection priority based on shadow edge identifier. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D15109
Diffstat (limited to 'source/blender/blenkernel/intern/gpencil_modifier.c')
-rw-r--r--source/blender/blenkernel/intern/gpencil_modifier.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 0bf5418ea8f..8739f2f7082 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -221,6 +221,9 @@ GpencilLineartLimitInfo BKE_gpencil_get_lineart_modifier_limits(const Object *ob
info.max_level = MAX2(info.max_level,
(lmd->use_multiple_levels ? lmd->level_end : lmd->level_start));
info.edge_types |= lmd->edge_types;
+ info.shadow_selection = MAX2(lmd->shadow_selection, info.shadow_selection);
+ info.silhouette_selection = MAX2(lmd->silhouette_selection, info.silhouette_selection);
+ is_first = false;
}
}
}
@@ -237,11 +240,15 @@ void BKE_gpencil_set_lineart_modifier_limits(GpencilModifierData *md,
lmd->level_start_override = info->min_level;
lmd->level_end_override = info->max_level;
lmd->edge_types_override = info->edge_types;
+ lmd->shadow_selection_override = info->shadow_selection;
+ lmd->shadow_use_silhouette_override = info->silhouette_selection;
}
else {
lmd->level_start_override = lmd->level_start;
lmd->level_end_override = lmd->level_end;
lmd->edge_types_override = lmd->edge_types;
+ lmd->shadow_selection_override = lmd->shadow_selection;
+ lmd->shadow_use_silhouette_override = lmd->silhouette_selection;
}
}