support local rendering for redshift_rop

This commit is contained in:
MustafaJafar 2024-03-29 17:02:26 +02:00
parent e8907b00c1
commit 313a7a2456
9 changed files with 36 additions and 26 deletions

View file

@ -4,7 +4,7 @@ import hou # noqa
from ayon_core.pipeline import CreatorError
from ayon_core.hosts.houdini.api import plugin
from ayon_core.lib import EnumDef, BoolDef
from ayon_core.lib import EnumDef, BoolDef, UISeparatorDef, UILabelDef
class CreateRedshiftROP(plugin.HoudiniCreator):
@ -26,8 +26,6 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
instance_data.update({"node_type": "Redshift_ROP"})
# Add chunk size attribute
instance_data["chunkSize"] = 10
# Submit for job publishing
instance_data["farm"] = pre_create_data.get("farm")
instance = super(CreateRedshiftROP, self).create(
product_name,
@ -118,8 +116,7 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
return super(CreateRedshiftROP, self).remove_instances(instances)
def get_pre_create_attr_defs(self):
attrs = super(CreateRedshiftROP, self).get_pre_create_attr_defs()
def get_instance_attr_defs(self):
image_format_enum = [
"exr", "tif", "jpg", "png",
]
@ -128,14 +125,8 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
"Full Multi-Layered EXR File"
]
return attrs + [
BoolDef("farm",
label="Submitting to Farm",
default=True),
BoolDef("split_render",
label="Split export and render jobs",
default=self.split_render),
return [
UILabelDef(label="RedShift Render Settings:"),
EnumDef("image_format",
image_format_enum,
default=self.ext,
@ -143,5 +134,24 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
EnumDef("multi_layered_mode",
multi_layered_mode,
default=self.multi_layered_mode,
label="Multi-Layered EXR")
label="Multi-Layered EXR"),
UISeparatorDef(key="1"),
UILabelDef(label="Farm Render Options:"),
BoolDef("farm",
label="Submitting to Farm",
default=True),
BoolDef("split_render",
label="Split export and render jobs",
default=self.split_render),
UISeparatorDef(key="2"),
UILabelDef(label="Local Render Options:"),
BoolDef("skip_render",
label="Skip Render",
tooltip="Enable this option to skip render which publish existing frames.",
default=False),
]
def get_pre_create_attr_defs(self):
attrs = super(CreateRedshiftROP, self).get_pre_create_attr_defs()
return attrs + self.get_instance_attr_defs()

View file

@ -6,7 +6,8 @@ class CollectFarmInstances(pyblish.api.InstancePlugin):
order = pyblish.api.CollectorOrder
families = ["mantra_rop",
"karma_rop"]
"karma_rop",
"redshift_rop"]
hosts = ["houdini"]
targets = ["local", "remote"]

View file

@ -11,7 +11,8 @@ class CollectLocalRenderInstances(pyblish.api.InstancePlugin):
# this plugin runs after Collect Render Products
order = pyblish.api.CollectorOrder + 0.12
families = ["mantra_rop",
"karma_rop"]
"karma_rop",
"redshift_rop"]
hosts = ["houdini"]
targets = ["local", "remote"]

View file

@ -11,7 +11,8 @@ class ExtractLocalRender(publish.Extractor):
label = "Extract Local Render"
hosts = ["houdini"]
families = ["mantra_rop",
"karma_rop"]
"karma_rop",
"redshift_rop"]
targets = ["local", "remote"]
def process(self, instance):

View file

@ -18,7 +18,6 @@ class IncrementCurrentFile(pyblish.api.ContextPlugin):
order = pyblish.api.IntegratorOrder + 9.0
hosts = ["houdini"]
families = ["workfile",
"redshift_rop",
"arnold_rop",
"usdrender",
"render.farm.hou",

View file

@ -14,7 +14,8 @@ class ValidateSplitExportIsDisabled(pyblish.api.InstancePlugin):
order = pyblish.api.ValidatorOrder
hosts = ["houdini"]
families = ["mantra_rop"]
families = ["mantra_rop",
"redshift_rop"]
label = "Validate Split Export Is Disabled"
actions = [DisableSplitExportAction]
@ -44,7 +45,7 @@ class ValidateSplitExportIsDisabled(pyblish.api.InstancePlugin):
return
split_enabled = creator_attribute["export_job"]
split_enabled = creator_attribute["split_render"]
if split_enabled:
invalid.append(rop_node)
cls.log.error(
@ -61,5 +62,5 @@ class ValidateSplitExportIsDisabled(pyblish.api.InstancePlugin):
instance.data["instance_id"])
creator_attributes = created_instance["creator_attributes"]
# Disable export_job
creator_attributes["export_job"] = False
creator_attributes["split_render"] = False
create_context.save_changes()

View file

@ -41,7 +41,6 @@ class CollectDeadlinePools(pyblish.api.InstancePlugin,
"renderlayer",
"maxrender",
"usdrender",
"redshift_rop",
"arnold_rop",
"vray_rop",
"render.farm.hou",

View file

@ -71,7 +71,6 @@ class HoudiniSubmitDeadline(
order = pyblish.api.IntegratorOrder
hosts = ["houdini"]
families = ["usdrender",
"redshift_rop",
"arnold_rop",
"vray_rop",
"render.farm.hou"]
@ -280,7 +279,7 @@ class HoudiniSubmitDeadline(
plugin_info = VrayRenderPluginInfo(
InputFilename=instance.data["ifdFile"],
)
elif product_type == "redshift_rop":
elif node_type == "Redshift_ROP":
plugin_info = RedshiftRenderPluginInfo(
SceneFile=instance.data["ifdFile"]
)

View file

@ -93,8 +93,7 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin,
"renderlayer", "imagesequence",
"vrayscene", "maxrender",
"arnold_rop", "render.farm.hou",
"vray_rop",
"redshift_rop"]
"vray_rop"]
aov_filter = [
{