From 14948ec046d9aedbbd0bb95f517f91b1355516a5 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Wed, 17 Jul 2024 22:26:31 +0200 Subject: [PATCH 1/4] Redshift: Set Rendersettings actually apply `multilayer_exr` and `force_combine` --- client/ayon_maya/api/lib_rendersettings.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/ayon_maya/api/lib_rendersettings.py b/client/ayon_maya/api/lib_rendersettings.py index f7f3f1d7..81c1c6de 100644 --- a/client/ayon_maya/api/lib_rendersettings.py +++ b/client/ayon_maya/api/lib_rendersettings.py @@ -227,6 +227,10 @@ def _set_redshift_settings(self, width, height): self._set_global_output_settings() cmds.setAttr("redshiftOptions.imageFormat", img_ext) + cmds.setAttr("redshiftOptions.exrMultipart", + redshift_render_presets["multilayer_exr"]) + cmds.setAttr("redshiftOptions.exrForceMultilayer", + redshift_render_presets["force_combine"]) cmds.setAttr("defaultResolution.width", width) cmds.setAttr("defaultResolution.height", height) self._additional_attribs_setter(additional_options) From 5d97a595d92337a1512a75b32dc866c382722b72 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 19 Jul 2024 01:30:50 +0200 Subject: [PATCH 2/4] Rename setting to multipart --- client/ayon_maya/api/lib_rendersettings.py | 2 +- server/settings/render_settings.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/ayon_maya/api/lib_rendersettings.py b/client/ayon_maya/api/lib_rendersettings.py index 81c1c6de..789dfe46 100644 --- a/client/ayon_maya/api/lib_rendersettings.py +++ b/client/ayon_maya/api/lib_rendersettings.py @@ -228,7 +228,7 @@ def _set_redshift_settings(self, width, height): self._set_global_output_settings() cmds.setAttr("redshiftOptions.imageFormat", img_ext) cmds.setAttr("redshiftOptions.exrMultipart", - redshift_render_presets["multilayer_exr"]) + redshift_render_presets.get("multipart_exr", True)) cmds.setAttr("redshiftOptions.exrForceMultilayer", redshift_render_presets["force_combine"]) cmds.setAttr("defaultResolution.width", width) diff --git a/server/settings/render_settings.py b/server/settings/render_settings.py index bc476ec4..6afb9a36 100644 --- a/server/settings/render_settings.py +++ b/server/settings/render_settings.py @@ -346,7 +346,7 @@ class RedshiftSettingsModel(BaseSettingsModel): enum_resolver=redshift_image_output_enum, title="Output Image Format" ) - multilayer_exr: bool = SettingsField(title="Multilayer (exr)") + multipart_exr: bool = SettingsField(title="Multipart (exr)") force_combine: bool = SettingsField(title="Force combine beauty and AOVs") aov_list: list[str] = SettingsField( default_factory=list, @@ -481,7 +481,7 @@ class RenderSettingsModel(BaseSettingsModel): "primary_gi_engine": "0", "secondary_gi_engine": "0", "image_format": "exr", - "multilayer_exr": True, + "multipart_exr": True, "force_combine": True, "aov_list": [], "additional_options": [] From 4d86cde0ba97a01920087f15245f88ec6bfcb0f5 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 19 Jul 2024 01:52:11 +0200 Subject: [PATCH 3/4] Update Redshift GI render engines with recent redshift versions --- server/settings/render_settings.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/server/settings/render_settings.py b/server/settings/render_settings.py index 6afb9a36..e94f99da 100644 --- a/server/settings/render_settings.py +++ b/server/settings/render_settings.py @@ -193,13 +193,21 @@ def vray_aov_list_enum(): ] -def redshift_engine_enum(): +def redshift_primary_gi_engine_enum(): """Get Redshift engine type enumerator.""" return [ {"value": "0", "label": "None"}, - {"value": "1", "label": "Photon Map"}, - {"value": "2", "label": "Irradiance Cache"}, - {"value": "3", "label": "Brute Force"} + {"value": "3", "label": "Irradiance Cache"}, + {"value": "4", "label": "Brute Force"} + ] + + +def redshift_secondary_gi_engine_enum(): + """Get Redshift engine type enumerator.""" + return [ + {"value": "0", "label": "None"}, + {"value": "2", "label": "Irradiance Point Cloud"}, + {"value": "4", "label": "Brute Force"} ] @@ -335,11 +343,11 @@ class RedshiftSettingsModel(BaseSettingsModel): # both engines are using the same enumerator, # both were originally str because of JSON limitation. primary_gi_engine: str = SettingsField( - enum_resolver=redshift_engine_enum, + enum_resolver=redshift_primary_gi_engine_enum, title="Primary GI Engine" ) secondary_gi_engine: str = SettingsField( - enum_resolver=redshift_engine_enum, + enum_resolver=redshift_secondary_gi_engine_enum, title="Secondary GI Engine" ) image_format: str = SettingsField( From 43e05d6df7e315f9c71ed133dccfa6a33b7505ef Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 19 Jul 2024 02:04:56 +0200 Subject: [PATCH 4/4] Fix redshift aov type values --- server/settings/render_settings.py | 81 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/server/settings/render_settings.py b/server/settings/render_settings.py index e94f99da..cd5c3650 100644 --- a/server/settings/render_settings.py +++ b/server/settings/render_settings.py @@ -224,59 +224,58 @@ def redshift_image_output_enum(): def redshift_aov_list_enum(): - """Return enumerator for Vray AOVs. + """Return enumerator for Redshift AOVs. - Note: Key is value, Value in this case is Label. This - was taken from v3 settings. - """ + *Tested in Redshift 3.6.03 + """ return [ - {"value": "empty", "label": "< none >"}, - {"value": "AO", "label": "Ambient Occlusion"}, + {"value": "Ambient Occlusion", "label": "Ambient Occlusion"}, {"value": "Background", "label": "Background"}, {"value": "Beauty", "label": "Beauty"}, - {"value": "BumpNormals", "label": "Bump Normals"}, + {"value": "Bump Normals", "label": "Bump Normals"}, {"value": "Caustics", "label": "Caustics"}, - {"value": "CausticsRaw", "label": "Caustics Raw"}, + {"value": "Caustics Raw", "label": "Caustics Raw"}, {"value": "Cryptomatte", "label": "Cryptomatte"}, {"value": "Custom", "label": "Custom"}, - {"value": "Z", "label": "Depth"}, - {"value": "DiffuseFilter", "label": "Diffuse Filter"}, - {"value": "DiffuseLighting", "label": "Diffuse Lighting"}, - {"value": "DiffuseLightingRaw", "label": "Diffuse Lighting Raw"}, + {"value": "Depth", "label": "Depth"}, + {"value": "Diffuse Filter", "label": "Diffuse Filter"}, + {"value": "Diffuse Lighting", "label": "Diffuse Lighting"}, + {"value": "Diffuse Lighting Raw", "label": "Diffuse Lighting Raw"}, {"value": "Emission", "label": "Emission"}, - {"value": "GI", "label": "Global Illumination"}, - {"value": "GIRaw", "label": "Global Illumination Raw"}, + {"value": "Global Illumination", "label": "Global Illumination"}, + {"value": "Global Illumination Raw", + "label": "Global Illumination Raw"}, {"value": "Matte", "label": "Matte"}, - {"value": "MotionVectors", "label": "Ambient Occlusion"}, - {"value": "N", "label": "Normals"}, - {"value": "ID", "label": "ObjectID"}, - {"value": "ObjectBumpNormal", "label": "Object-Space Bump Normals"}, - {"value": "ObjectPosition", "label": "Object-Space Positions"}, - {"value": "PuzzleMatte", "label": "Puzzle Matte"}, + {"value": "Motion Vectors", "label": "Motion Vectors"}, + {"value": "Normals", "label": "Normals"}, + {"value": "ObjectID", "label": "ObjectID"}, + {"value": "Object-Space Bump Normals", + "label": "Object-Space Bump Normals"}, + {"value": "Object-Space Positions", + "label": "Object-Space Positions"}, + {"value": "Puzzle Matte", "label": "Puzzle Matte"}, {"value": "Reflections", "label": "Reflections"}, - {"value": "ReflectionsFilter", "label": "Reflections Filter"}, - {"value": "ReflectionsRaw", "label": "Reflections Raw"}, + {"value": "Reflections Filter", "label": "Reflections Filter"}, + {"value": "Reflections Raw", "label": "Reflections Raw"}, {"value": "Refractions", "label": "Refractions"}, - {"value": "RefractionsFilter", "label": "Refractions Filter"}, - {"value": "RefractionsRaw", "label": "Refractions Filter"}, + {"value": "Refractions Filter", "label": "Refractions Filter"}, + {"value": "Refractions Raw", "label": "Refractions Raw"}, {"value": "Shadows", "label": "Shadows"}, - {"value": "SpecularLighting", "label": "Specular Lighting"}, - {"value": "SSS", "label": "Sub Surface Scatter"}, - {"value": "SSSRaw", "label": "Sub Surface Scatter Raw"}, - { - "value": "TotalDiffuseLightingRaw", - "label": "Total Diffuse Lighting Raw" - }, - { - "value": "TotalTransLightingRaw", - "label": "Total Translucency Filter" - }, - {"value": "TransTint", "label": "Translucency Filter"}, - {"value": "TransGIRaw", "label": "Translucency Lighting Raw"}, - {"value": "VolumeFogEmission", "label": "Volume Fog Emission"}, - {"value": "VolumeFogTint", "label": "Volume Fog Tint"}, - {"value": "VolumeLighting", "label": "Volume Lighting"}, - {"value": "P", "label": "World Position"}, + {"value": "Specular Lighting", "label": "Specular Lighting"}, + {"value": "Sub Surface Scatter", "label": "Sub Surface Scatter"}, + {"value": "Sub Surface Scatter Raw", + "label": "Sub Surface Scatter Raw"}, + {"value": "Total Diffuse Lighting Raw", + "label": "Total Diffuse Lighting Raw"}, + {"value": "Total Translucency Lighting Raw", + "label": "Total Translucency Lighting Raw"}, + {"value": "Translucency Filter", "label": "Translucency Filter"}, + {"value": "Translucency Lighting Raw", + "label": "Translucency Lighting Raw"}, + {"value": "Volume Fog Emission", "label": "Volume Fog Emission"}, + {"value": "Volume Fog Tint", "label": "Volume Fog Tint"}, + {"value": "Volume Lighting", "label": "Volume Lighting"}, + {"value": "World Position", "label": "World Position"}, ]