[Bf-blender-cvs] [05b2016499f] tmp-eevee-aov: EEVEE AOV: Validate AOV Names

Jeroen Bakker noreply at git.blender.org
Mon Sep 28 11:43:58 CEST 2020


Commit: 05b2016499f9e0ec81da09f3686067103c4a9e80
Author: Jeroen Bakker
Date:   Mon Sep 28 08:32:12 2020 +0200
Branches: tmp-eevee-aov
https://developer.blender.org/rB05b2016499f9e0ec81da09f3686067103c4a9e80

EEVEE AOV: Validate AOV Names

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

M	source/blender/blenkernel/intern/layer.c
M	source/blender/draw/engines/eevee/eevee_render.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index f45ad4b04c8..7bd9d8a28a6 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1877,6 +1877,7 @@ struct ViewLayerAOV *BKE_view_layer_add_aov(struct ViewLayer *view_layer)
 {
   ViewLayerAOV *aov;
   aov = MEM_callocN(sizeof(ViewLayerAOV), __func__);
+  aov->type = AOV_TYPE_COLOR;
   BLI_addtail(&view_layer->aovs, aov);
   BLI_strncpy(aov->name, "AOV", 64);
   viewlayer_aov_active_set(view_layer, aov);
diff --git a/source/blender/draw/engines/eevee/eevee_render.c b/source/blender/draw/engines/eevee/eevee_render.c
index edb337cf0c1..61dac88dbed 100644
--- a/source/blender/draw/engines/eevee/eevee_render.c
+++ b/source/blender/draw/engines/eevee/eevee_render.c
@@ -702,6 +702,19 @@ void EEVEE_render_update_passes(RenderEngine *engine, Scene *scene, ViewLayer *v
   CHECK_PASS_EEVEE(VOLUME_TRANSMITTANCE, SOCK_RGBA, 3, "RGB");
   CHECK_PASS_EEVEE(BLOOM, SOCK_RGBA, 3, "RGB");
 
+  LISTBASE_FOREACH (ViewLayerAOV *, aov, &view_layer->aovs) {
+    switch (aov->type) {
+      case AOV_TYPE_COLOR:
+        RE_engine_register_pass(engine, scene, view_layer, aov->name, 3, "RGB", SOCK_RGBA);
+        break;
+      case AOV_TYPE_VALUE:
+        RE_engine_register_pass(engine, scene, view_layer, aov->name, 1, "R", SOCK_FLOAT);
+        break;
+      default:
+        break;
+    }
+  }
+
 #undef CHECK_PASS_LEGACY
 #undef CHECK_PASS_EEVEE
 }
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 0f84fa9cf62..34f81186d99 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -4018,6 +4018,7 @@ static void rna_def_view_layer_aov(BlenderRNA *brna)
   prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
   RNA_def_property_enum_sdna(prop, NULL, "type");
   RNA_def_property_enum_items(prop, rna_enum_view_layer_aov_type_items);
+  RNA_def_property_enum_default(prop, AOV_TYPE_COLOR);
   RNA_def_property_ui_text(prop, "Type", "Data type of the AOV");
   RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update");
 }



More information about the Bf-blender-cvs mailing list