[Bf-blender-cvs] [7fb216d800f] blender2.8: Workbench: respect the duplication visibility flag

Jeroen Bakker noreply at git.blender.org
Thu Jun 7 09:26:36 CEST 2018


Commit: 7fb216d800f03489aacec1e4e261d36bba32147c
Author: Jeroen Bakker
Date:   Thu Jun 7 08:25:22 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB7fb216d800f03489aacec1e4e261d36bba32147c

Workbench: respect the duplication visibility flag

===================================================================

M	source/blender/draw/engines/workbench/workbench_deferred.c
M	source/blender/draw/engines/workbench/workbench_forward.c

===================================================================

diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index aad4260241f..9e71ba551a1 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -661,7 +661,6 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
 	WORKBENCH_StorageList *stl = vedata->stl;
 	WORKBENCH_PassList *psl = vedata->psl;
 	WORKBENCH_PrivateData *wpd = stl->g_data;
-
 	if (!DRW_object_is_renderable(ob))
 		return;
 
@@ -669,6 +668,10 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
 		workbench_cache_populate_particles(vedata, ob);
 	}
 
+	if (!DRW_check_object_visible_within_active_context(ob)) {
+		return;
+	}
+
 	WORKBENCH_MaterialData *material;
 	if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) {
 		const DRWContextState *draw_ctx = DRW_context_state_get();
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c
index 13821e0e57e..f313aee30ec 100644
--- a/source/blender/draw/engines/workbench/workbench_forward.c
+++ b/source/blender/draw/engines/workbench/workbench_forward.c
@@ -517,6 +517,11 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
 	if (ob->type == OB_MESH) {
 		workbench_forward_cache_populate_particles(vedata, ob);
 	}
+
+	if (!DRW_check_object_visible_within_active_context(ob)) {
+		return;
+	}
+
 	if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) {
 		const DRWContextState *draw_ctx = DRW_context_state_get();
 		const bool is_active = (ob == draw_ctx->obact);



More information about the Bf-blender-cvs mailing list