mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
Renderman setup for sample and display filters
This commit is contained in:
parent
8e6db18794
commit
62a6f4c4ad
3 changed files with 118 additions and 2 deletions
|
|
@ -4,6 +4,7 @@ from maya import cmds # noqa
|
|||
import maya.mel as mel
|
||||
import six
|
||||
import sys
|
||||
import os
|
||||
|
||||
from openpype.lib import Logger
|
||||
from openpype.api import (
|
||||
|
|
@ -29,7 +30,7 @@ class RenderSettings(object):
|
|||
_image_prefixes = {
|
||||
'vray': get_current_project_settings()["maya"]["RenderSettings"]["vray_renderer"]["image_prefix"], # noqa
|
||||
'arnold': get_current_project_settings()["maya"]["RenderSettings"]["arnold_renderer"]["image_prefix"], # noqa
|
||||
'renderman': 'maya/<Scene>/<layer>/<layer>{aov_separator}<aov>',
|
||||
'renderman': get_current_project_settings()["maya"]["RenderSettings"]["renderman_renderer"]["image_prefix"], # noqa
|
||||
'redshift': get_current_project_settings()["maya"]["RenderSettings"]["redshift_renderer"]["image_prefix"] # noqa
|
||||
}
|
||||
|
||||
|
|
@ -96,6 +97,9 @@ class RenderSettings(object):
|
|||
if renderer == "redshift":
|
||||
self._set_redshift_settings(width, height)
|
||||
|
||||
if renderer == "renderman":
|
||||
self._set_renderman_settings(width, height)
|
||||
|
||||
def _set_arnold_settings(self, width, height):
|
||||
"""Sets settings for Arnold."""
|
||||
from mtoa.core import createOptions # noqa
|
||||
|
|
@ -158,6 +162,45 @@ class RenderSettings(object):
|
|||
cmds.setAttr("defaultResolution.height", height)
|
||||
self._additional_attribs_setter(additional_options)
|
||||
|
||||
def _set_renderman_settings(self, width, height):
|
||||
"""Sets settings for Renderman"""
|
||||
rman_render_presets = (
|
||||
self._project_settings
|
||||
["maya"]
|
||||
["RenderSettings"]
|
||||
["renderman_renderer"]
|
||||
)
|
||||
display_filters = rman_render_presets["display_filters"]
|
||||
d_filters_number = len(display_filters)
|
||||
for i in range(d_filters_number):
|
||||
d_node = cmds.ls(typ=display_filters[i])
|
||||
if len(d_node) > 0:
|
||||
filter_nodes = d_node[0]
|
||||
else:
|
||||
filter_nodes = cmds.createNode(display_filters[i])
|
||||
cmds.connectAttr(filter_nodes+".message",
|
||||
"rmanGlobals.displayFilters[%i]"% i,
|
||||
force=True)
|
||||
|
||||
sample_filters = rman_render_presets["sample_filters"]
|
||||
s_filters_number = len(sample_filters)
|
||||
for n in range(s_filters_number):
|
||||
s_node = cmds.ls(typ=sample_filters[n])
|
||||
if len(s_node) > 0:
|
||||
filter_nodes = s_node[0]
|
||||
else:
|
||||
filter_nodes = cmds.createNode(sample_filters[n])
|
||||
cmds.connectAttr(filter_nodes+".message",
|
||||
"rmanGlobals.sampleFilters[%i]"% n,
|
||||
force=True)
|
||||
|
||||
additional_options = rman_render_presets["additional_options"]
|
||||
|
||||
self._set_global_output_settings()
|
||||
cmds.setAttr("defaultResolution.width", width)
|
||||
cmds.setAttr("defaultResolution.height", height)
|
||||
self._additional_attribs_setter(additional_options)
|
||||
|
||||
def _set_vray_settings(self, aov_separator, width, height):
|
||||
# type: (str, int, int) -> None
|
||||
"""Sets important settings for Vray."""
|
||||
|
|
|
|||
|
|
@ -62,6 +62,12 @@
|
|||
"force_combine": true,
|
||||
"aov_list": [],
|
||||
"additional_options": []
|
||||
},
|
||||
"renderman_renderer": {
|
||||
"image_prefix": "maya/<Scene>/<layer>/<layer>{aov_separator}<aov>",
|
||||
"display_filters": [],
|
||||
"sample_filters": [],
|
||||
"additional_options": []
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
|
|
|
|||
|
|
@ -418,6 +418,73 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "dict",
|
||||
"collapsible": true,
|
||||
"key": "renderman_renderer",
|
||||
"label": "Renderman Renderer",
|
||||
"is_group": true,
|
||||
"children": [
|
||||
{
|
||||
"key": "image_prefix",
|
||||
"label": "Image prefix template",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"key": "display_filters",
|
||||
"label": "Display Filters",
|
||||
"type": "enum",
|
||||
"multiselection": true,
|
||||
"defaults": "empty",
|
||||
"enum_items": [
|
||||
{"PxrBackgroundDisplayFilter": "PxrBackgroundDisplayFilter"},
|
||||
{"PxrCopyAOVDisplayFilter": "PxrCopyAOVDisplayFilter"},
|
||||
{"PxrEdgeDetect":"PxrEdgeDetect"},
|
||||
{"PxrFilmicTonemapperDisplayFilter": "PxrFilmicTonemapperDisplayFilter"},
|
||||
{"PxrGradeDisplayFilter": "PxrGradeDisplayFilter"},
|
||||
{"PxrHalfBufferErrorFilter": "PxrHalfBufferErrorFilter"},
|
||||
{"PxrImageDisplayFilter": "PxrImageDisplayFilter"},
|
||||
{"PxrLightSaturation": "PxrLightSaturation"},
|
||||
{"PxrShadowDisplayFilter": "PxrShadowDisplayFilter"},
|
||||
{"PxrStylizedHatching": "PxrStylizedHatching"},
|
||||
{"PxrStylizedLines": "PxrStylizedLines"},
|
||||
{"PxrStylizedToon": "PxrStylizedToon"},
|
||||
{"PxrWhitePointDisplayFilter": "PxrWhitePointDisplayFilter"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "sample_filters",
|
||||
"label": "Sample Filters",
|
||||
"type": "enum",
|
||||
"multiselection": true,
|
||||
"defaults": "empty",
|
||||
"enum_items": [
|
||||
{"PxrBackgroundSampleFilter": "PxrBackgroundSampleFilter"},
|
||||
{"PxrCopyAOVSampleFilter": "PxrCopyAOVSampleFilter"},
|
||||
{"PxrCryptomatte": "PxrCryptomatte"},
|
||||
{"PxrFilmicTonemapperSampleFilter": "PxrFilmicTonemapperSampleFilter"},
|
||||
{"PxrGradeSampleFilter": "PxrGradeSampleFilter"},
|
||||
{"PxrShadowFilter": "PxrShadowFilter"},
|
||||
{"PxrWatermarkFilter": "PxrWatermarkFilter"},
|
||||
{"PxrWhitePointSampleFilter": "PxrWhitePointSampleFilter"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"label": "Add additional options - put attribute and value, like <code>Ci</code>"
|
||||
},
|
||||
{
|
||||
"type": "dict-modifiable",
|
||||
"store_as_list": true,
|
||||
"key": "additional_options",
|
||||
"label": "Additional Renderer Options",
|
||||
"use_label_wrap": true,
|
||||
"object_type": {
|
||||
"type": "text"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue