diff options
author | Yiming Wu <xp8110@outlook.com> | 2022-06-29 17:54:29 +0300 |
---|---|---|
committer | Yiming Wu <xp8110@outlook.com> | 2022-06-29 17:54:29 +0300 |
commit | 6dd8ceef2a21f64cbb61a96560c50c162f9dae39 (patch) | |
tree | dff82af871b36d7df37213cdcc2a94dfd1ca70b2 /source/blender/blenkernel/intern/gpencil_modifier.c | |
parent | 2ac5b55289d361de7fccc9be188b98df358ab932 (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.c | 7 |
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; } } |