Added setting to choose render engine

This commit is contained in:
Simone Barbieri 2024-01-18 10:16:05 +00:00
parent 0534c9c55d
commit 1eb07bcedb
3 changed files with 24 additions and 2 deletions

View file

@ -48,6 +48,14 @@ def get_multilayer(settings):
["multilayer_exr"])
def get_renderer(settings):
"""Get renderer from blender settings."""
return (settings["blender"]
["RenderSettings"]
["renderer"])
def get_render_product(output_path, name, aov_sep):
"""
Generate the path to the render product. Blender interprets the `#`
@ -254,9 +262,10 @@ def prepare_rendering(asset_group):
aov_sep = get_aov_separator(settings)
ext = get_image_format(settings)
multilayer = get_multilayer(settings)
renderer = get_renderer(settings)
set_render_format(ext, multilayer)
aov_list, custom_passes = set_render_passes(settings)
bpy.context.scene.render.engine = renderer
output_path = Path.joinpath(dirpath, render_folder, file_name)

View file

@ -25,6 +25,13 @@ def image_format_enum():
]
def renderers_enum():
return [
{"value": "CYCLES", "label": "Cycles"},
{"value": "BLENDER_EEVEE", "label": "Eevee"},
]
def aov_list_enum():
return [
{"value": "empty", "label": "< none >"},
@ -83,6 +90,11 @@ class RenderSettingsModel(BaseSettingsModel):
multilayer_exr: bool = Field(
title="Multilayer (EXR)"
)
renderer: str = Field(
"CYCLES",
title="Renderer",
enum_resolver=renderers_enum
)
aov_list: list[str] = Field(
default_factory=list,
enum_resolver=aov_list_enum,
@ -104,6 +116,7 @@ DEFAULT_RENDER_SETTINGS = {
"aov_separator": "underscore",
"image_format": "exr",
"multilayer_exr": True,
"renderer": "CYCLES",
"aov_list": [],
"custom_passes": []
}

View file

@ -1 +1 @@
__version__ = "0.1.5"
__version__ = "0.1.6"