[Bf-blender-cvs] [9ce2370ce4f] blender2.8: SceneRenderLayer > SceneLayer: Remove exclude_layer

Dalai Felinto noreply at git.blender.org
Wed Nov 22 10:18:02 CET 2017


Commit: 9ce2370ce4f1e1e9bf14feaf56eee82bec9474ff
Author: Dalai Felinto
Date:   Tue Nov 14 16:18:14 2017 -0200
Branches: blender2.8
https://developer.blender.org/rB9ce2370ce4f1e1e9bf14feaf56eee82bec9474ff

SceneRenderLayer > SceneLayer: Remove exclude_layer

Note: It is up to Cycles to still get rid of exclude_layer internally:
RenderLayerInfo.exclude_layer

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

M	intern/cycles/blender/blender_sync.cpp
M	intern/cycles/blender/blender_sync.h
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/render/extern/include/RE_pipeline.h
M	source/blender/render/intern/source/render_result.c

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

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index f29d7754dcf..d18a7f25317 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -401,7 +401,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D& b_v3d, const char *layer)
 			render_layer.name = b_rlay->name();
 
 			render_layer.holdout_layer = get_layer(b_rlay->layers_zmask());
-			render_layer.exclude_layer = get_layer(b_rlay->layers_exclude());
+			render_layer.exclude_layer = 0;
 
 			render_layer.scene_layer = scene_layers & ~render_layer.exclude_layer;
 			render_layer.scene_layer |= render_layer.exclude_layer & render_layer.holdout_layer;
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h
index 88f7ea7975c..0f9cd86bd3c 100644
--- a/intern/cycles/blender/blender_sync.h
+++ b/intern/cycles/blender/blender_sync.h
@@ -201,7 +201,7 @@ private:
 		uint scene_layer;
 		uint layer;
 		uint holdout_layer;
-		uint exclude_layer;
+		uint exclude_layer; /* This can be safely removed from Cycles. */
 		BL::Material material_override;
 		bool use_background_shader;
 		bool use_background_ao;
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 7ce7ef54040..31b90254916 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -321,7 +321,10 @@ void do_versions_after_linking_280(Main *main)
 
 							/* Add new collection bases. */
 							for (int layer = 0; layer < 20; layer++) {
-								if ((srl->lay & (1 << layer)) && (scene->lay & (1 << layer))) {
+								if ((scene->lay & (1 << layer)) &&
+								    (srl->lay & (1 << layer)) &&
+								    ((srl->lay_exclude & (1 << layer)) == 0))
+								{
 									if (collections[DO_VERSION_COLLECTION_VISIBLE].created & (1 << layer)) {
 
 										LayerCollection *layer_collection_parent;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 91b8313d172..25d67a9e073 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -179,7 +179,7 @@ typedef struct SceneRenderLayer {
 	
 	unsigned int lay;		  /* scene->lay itself has priority over this */
 	unsigned int lay_zmask;	  /* has to be after lay, this is for Z-masking */
-	unsigned int lay_exclude; /* not used by internal, exclude */
+	unsigned int lay_exclude DNA_DEPRECATED;
 	int layflag;
 	
 	int passflag;			/* pass_xor has to be after passflag */
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index d678479f9e2..840271ccaad 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -3317,13 +3317,6 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
 	if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_Scene_glsl_update");
 	else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
-	prop = RNA_def_property(srna, "layers_exclude", PROP_BOOLEAN, PROP_LAYER);
-	RNA_def_property_boolean_sdna(prop, NULL, "lay_exclude", 1);
-	RNA_def_property_array(prop, 20);
-	RNA_def_property_ui_text(prop, "Exclude Layers", "Exclude scene layers from having any influence");
-	if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_Scene_glsl_update");
-	else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-
 	if (scene) {
 		prop = RNA_def_property(srna, "samples", PROP_INT, PROP_UNSIGNED);
 		RNA_def_property_ui_text(prop, "Samples", "Override number of render samples for this render layer, "
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 81e411700fa..f7d05b79a6c 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -108,7 +108,7 @@ typedef struct RenderLayer {
 	
 	/* copy of RenderData */
 	char name[RE_MAXNAME];
-	unsigned int lay, lay_zmask, lay_exclude;
+	unsigned int lay, lay_zmask;
 	int layflag, passflag, pass_xor;
 	
 	struct Material *mat_override;
diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c
index 9ad5d73fc55..5a14c4126bf 100644
--- a/source/blender/render/intern/source/render_result.c
+++ b/source/blender/render/intern/source/render_result.c
@@ -315,7 +315,6 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf
 		BLI_strncpy(rl->name, srl->name, sizeof(rl->name));
 		rl->lay = srl->lay;
 		rl->lay_zmask = srl->lay_zmask;
-		rl->lay_exclude = srl->lay_exclude;
 		rl->layflag = srl->layflag;
 		rl->passflag = srl->passflag; /* for debugging: srl->passflag | SCE_PASS_RAYHITS; */
 		rl->pass_xor = srl->pass_xor;



More information about the Bf-blender-cvs mailing list