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
This commit is contained in:
@@ -39,7 +39,7 @@ extern "C" {
|
||||
|
||||
/* Blender file format version. */
|
||||
#define BLENDER_FILE_VERSION BLENDER_VERSION
|
||||
#define BLENDER_FILE_SUBVERSION 14
|
||||
#define BLENDER_FILE_SUBVERSION 15
|
||||
|
||||
/* Minimum Blender version that supports reading file written with the current
|
||||
* version. Older Blender versions will test this and show a warning if the file
|
||||
|
||||
@@ -1590,18 +1590,7 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
||||
FOREACH_NODETREE_END;
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
* \note Be sure to check when bumping the version:
|
||||
* - "versioning_userdef.c", #blo_do_versions_userdef
|
||||
* - "versioning_userdef.c", #do_versions_theme
|
||||
*
|
||||
* \note Keep this message at the bottom of the function.
|
||||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
|
||||
if (!MAIN_VERSION_ATLEAST(bmain, 292, 15)) {
|
||||
/* UV/Image Max resolution images in image editor. */
|
||||
LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) {
|
||||
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
|
||||
@@ -1614,4 +1603,17 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
* \note Be sure to check when bumping the version:
|
||||
* - "versioning_userdef.c", #blo_do_versions_userdef
|
||||
* - "versioning_userdef.c", #do_versions_theme
|
||||
*
|
||||
* \note Keep this message at the bottom of the function.
|
||||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user