diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-02-12 13:29:50 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-02-12 13:35:05 +0300 |
commit | 26481eabe1e66da2a322190f15ad600d9d69bbee (patch) | |
tree | 15a56363f559558847e2ea7becad623d6d4d550f /source/blender/makesrna/intern | |
parent | 837b5743ced83c5dfe724a8285eee504f623dbfb (diff) |
Cycles: Use Blender Settings For AOV
This patch will share the AOV settings between Cycles and Eevee.
It enable using the AOV name conflict detection of Blender. This
means that unlike how Cycles used to work it isn't possible to add an
AOV with a similar name. Conflicts with internal render pass names will
be indicated with an Warning icon.
Reviewed By: Brecht van Lommel
Differential Revision: https://developer.blender.org/D9774
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_internal.h | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_layer.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_render.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 21 |
4 files changed, 23 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 76c3e17e128..bfcb0039ca8 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -264,7 +264,7 @@ void rna_def_mtex_common(struct BlenderRNA *brna, const char *update, const char *update_index); void rna_def_texpaint_slots(struct BlenderRNA *brna, struct StructRNA *srna); -void rna_def_view_layer_common(struct StructRNA *srna, const bool scene); +void rna_def_view_layer_common(struct BlenderRNA *brna, struct StructRNA *srna, const bool scene); void rna_def_actionbone_group_common(struct StructRNA *srna, int update_flag, diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c index afe69c37eef..7fce9b1f908 100644 --- a/source/blender/makesrna/intern/rna_layer.c +++ b/source/blender/makesrna/intern/rna_layer.c @@ -534,7 +534,7 @@ void RNA_def_view_layer(BlenderRNA *brna) RNA_def_struct_path_func(srna, "rna_ViewLayer_path"); RNA_def_struct_idprops_func(srna, "rna_ViewLayer_idprops"); - rna_def_view_layer_common(srna, true); + rna_def_view_layer_common(brna, srna, true); func = RNA_def_function(srna, "update_render_passes", "rna_ViewLayer_update_render_passes"); RNA_def_function_ui_description(func, diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 3126f3e11f4..5b1da32dff3 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -1050,7 +1050,7 @@ static void rna_def_render_layer(BlenderRNA *brna) RNA_define_verify_sdna(0); - rna_def_view_layer_common(srna, false); + rna_def_view_layer_common(brna, srna, false); prop = RNA_def_property(srna, "passes", PROP_COLLECTION, PROP_NONE); RNA_def_property_struct_type(prop, "RenderPass"); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index af31f16f4e0..93d25c383bb 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -4062,6 +4062,24 @@ static void rna_def_view_layer_eevee(BlenderRNA *brna) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); } +static void rna_def_view_layer_aovs(BlenderRNA *brna, PropertyRNA *cprop) +{ + StructRNA *srna; + /* PropertyRNA *prop; */ + + FunctionRNA *func; + PropertyRNA *parm; + + RNA_def_property_srna(cprop, "AOVs"); + srna = RNA_def_struct(brna, "AOVs", NULL); + RNA_def_struct_sdna(srna, "ViewLayer"); + RNA_def_struct_ui_text(srna, "List of AOVs", "Collection of AOVs"); + + func = RNA_def_function(srna, "add", "BKE_view_layer_add_aov"); + parm = RNA_def_pointer(func, "aov", "AOV", "", "Newly created AOV"); + RNA_def_function_return(func, parm); +} + static void rna_def_view_layer_aov(BlenderRNA *brna) { StructRNA *srna; @@ -4089,7 +4107,7 @@ static void rna_def_view_layer_aov(BlenderRNA *brna) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); } -void rna_def_view_layer_common(StructRNA *srna, const bool scene) +void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, const bool scene) { PropertyRNA *prop; @@ -4144,6 +4162,7 @@ void rna_def_view_layer_common(StructRNA *srna, const bool scene) RNA_def_property_collection_sdna(prop, NULL, "aovs", NULL); RNA_def_property_struct_type(prop, "AOV"); RNA_def_property_ui_text(prop, "Shader AOV", ""); + rna_def_view_layer_aovs(brna, prop); prop = RNA_def_property(srna, "active_aov", PROP_POINTER, PROP_NONE); RNA_def_property_struct_type(prop, "AOV"); |