[Bf-blender-cvs] [8615ace7bf2] temp-lineart-contained: LineArt: Fix(unreported): Child object respect collection visibility.
YimingWu
noreply at git.blender.org
Sat Jul 31 04:03:23 CEST 2021
Commit: 8615ace7bf2a44d86056c03d45f6af6027ad948d
Author: YimingWu
Date: Sat Jul 31 09:39:27 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rB8615ace7bf2a44d86056c03d45f6af6027ad948d
LineArt: Fix(unreported): Child object respect collection visibility.
===================================================================
M release/datafiles/locale
M release/scripts/addons
M release/scripts/addons_contrib
M source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
M source/tools
===================================================================
diff --git a/release/datafiles/locale b/release/datafiles/locale
index 62e82958a76..4833954c0ac 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 62e82958a760dad775d9b3387d7fb535fd6de4c6
+Subproject commit 4833954c0ac85cc407e1d5a153aa11b1d1823ec0
diff --git a/release/scripts/addons b/release/scripts/addons
index 4475cbd11a6..f86f25e6221 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 4475cbd11a636382d57571e0f5dfeff1f90bd6b7
+Subproject commit f86f25e62217264495d05f116ccb09d575fe9841
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 788441f2930..5a82baad9f9 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 788441f2930465bbfba8f0797b12dcef1d46694d
+Subproject commit 5a82baad9f986722104280e8354a4427d8e9eab1
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index 297a0f7ff16..ce53d347c91 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -2061,7 +2061,7 @@ static uchar lineart_intersection_mask_check(Collection *c, Object *ob)
* See if this object in such collection is used for generating line art,
* Disabling a collection for line art will doable all objects inside.
*/
-static int lineart_usage_check(Collection *c, Object *ob)
+static int lineart_usage_check(Collection *c, Object *ob, bool is_render)
{
if (!c) {
@@ -2074,8 +2074,12 @@ static int lineart_usage_check(Collection *c, Object *ob)
return ob->lineart.usage;
}
- if (c->children.first == NULL) {
+ if (c->gobject.first) {
if (BKE_collection_has_object(c, (Object *)(ob->id.orig_id))) {
+ if ((is_render && (c->flag & COLLECTION_RESTRICT_RENDER)) ||
+ ((!is_render) && (c->flag & COLLECTION_RESTRICT_VIEWPORT))) {
+ return OBJECT_LRT_EXCLUDE;
+ }
if (ob->lineart.usage == OBJECT_LRT_INHERIT) {
switch (c->lineart_usage) {
case COLLECTION_LRT_OCCLUSION_ONLY:
@@ -2094,7 +2098,7 @@ static int lineart_usage_check(Collection *c, Object *ob)
}
LISTBASE_FOREACH (CollectionChild *, cc, &c->children) {
- int result = lineart_usage_check(cc->collection, ob);
+ int result = lineart_usage_check(cc->collection, ob, is_render);
if (result > OBJECT_LRT_INHERIT) {
return result;
}
@@ -2224,9 +2228,11 @@ static void lineart_main_load_geometries(
LineartObjectLoadTaskInfo *olti = lineart_mem_acquire(
&rb->render_data_pool, sizeof(LineartObjectLoadTaskInfo) * thread_count);
+ bool is_render = DEG_get_mode(depsgraph) == DAG_EVAL_RENDER;
+
DEG_OBJECT_ITER_BEGIN (depsgraph, ob, flags) {
LineartObjectInfo *obi = lineart_mem_acquire(&rb->render_data_pool, sizeof(LineartObjectInfo));
- obi->usage = lineart_usage_check(scene->master_collection, ob);
+ obi->usage = lineart_usage_check(scene->master_collection, ob, is_render);
obi->override_intersection_mask = lineart_intersection_mask_check(scene->master_collection,
ob);
Object *use_ob = DEG_get_evaluated_object(depsgraph, ob);
diff --git a/source/tools b/source/tools
index c8579c5cf43..01f51a0e551 160000
--- a/source/tools
+++ b/source/tools
@@ -1 +1 @@
-Subproject commit c8579c5cf43229843df505da9644b5b0b7201974
+Subproject commit 01f51a0e551ab730f0934dc6488613690ac4bf8f
More information about the Bf-blender-cvs
mailing list