Skip to content

render_lib

get_aov_separator(settings)

Get aov separator from blender settings.

Source code in client/ayon_blender/api/render_lib.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def get_aov_separator(settings):
    """Get aov separator from blender settings."""

    aov_sep = (settings["blender"]
                       ["RenderSettings"]
                       ["aov_separator"])

    if aov_sep == "dash":
        return "-"
    elif aov_sep == "underscore":
        return "_"
    elif aov_sep == "dot":
        return "."
    else:
        raise ValueError(f"Invalid aov separator: {aov_sep}")

get_compositing(settings)

Get compositing from blender settings.

Source code in client/ayon_blender/api/render_lib.py
59
60
61
62
63
64
def get_compositing(settings):
    """Get compositing from blender settings."""

    return (settings["blender"]
                    ["RenderSettings"]
                    ["compositing"])

get_default_render_folder(settings)

Get default render folder from blender settings.

Source code in client/ayon_blender/api/render_lib.py
10
11
12
13
14
15
def get_default_render_folder(settings):
    """Get default render folder from blender settings."""

    return (settings["blender"]
                    ["RenderSettings"]
                    ["default_render_image_folder"])

get_image_format(settings)

Get image format from blender settings.

Source code in client/ayon_blender/api/render_lib.py
35
36
37
38
39
40
def get_image_format(settings):
    """Get image format from blender settings."""

    return (settings["blender"]
                    ["RenderSettings"]
                    ["image_format"])

get_multilayer(settings)

Get multilayer from blender settings.

Source code in client/ayon_blender/api/render_lib.py
43
44
45
46
47
48
def get_multilayer(settings):
    """Get multilayer from blender settings."""

    return (settings["blender"]
                    ["RenderSettings"]
                    ["multilayer_exr"])

get_render_product(output_path, name, aov_sep, view_layers, multiexr=False)

Generate the path to the render product. Blender interprets the # as the frame number, when it renders.

Parameters:

Name Type Description Default
file_path str

The path to the blender scene.

required
render_folder str

The render folder set in settings.

required
file_name str

The name of the blender scene.

required
instance Instance

The instance to publish.

required
ext str

The image format to render.

required
Source code in client/ayon_blender/api/render_lib.py
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
def get_render_product(output_path, name, aov_sep, view_layers, multiexr=False):
    """
    Generate the path to the render product. Blender interprets the `#`
    as the frame number, when it renders.

    Args:
        file_path (str): The path to the blender scene.
        render_folder (str): The render folder set in settings.
        file_name (str): The name of the blender scene.
        instance (pyblish.api.Instance): The instance to publish.
        ext (str): The image format to render.
    """
    beauty_render_product = {}
    if multiexr:
        vl_name = "_"
        beauty_render_product[vl_name] = []
        output_dir = Path(output_path)
        filepath = output_dir / name.lstrip("/")
        render_product = f"{filepath}{aov_sep}beauty.####"
        beauty_render_product[vl_name].append(
            ("beauty", os.path.normpath(render_product)))
    else:
        for view_layer in view_layers:
            vl_name = view_layer.name
            beauty_render_product[vl_name] = []
            output_dir = Path(f"{output_path}/{vl_name}")
            filepath = output_dir / name.lstrip("/")
            render_product = f"{filepath}_{vl_name}{aov_sep}beauty.####"
            beauty_render_product[vl_name].append(
                ("beauty", os.path.normpath(render_product)))

    return beauty_render_product

get_renderer(settings)

Get renderer from blender settings.

Source code in client/ayon_blender/api/render_lib.py
51
52
53
54
55
56
def get_renderer(settings):
    """Get renderer from blender settings."""

    return (settings["blender"]
                    ["RenderSettings"]
                    ["renderer"])