RenderJobBlender

pydantic model xrfeitoria.data_structure.models.RenderJobBlender[source]

Render job model for Blender.

Show JSON schema
{
   "title": "RenderJobBlender",
   "description": "Render job model for Blender.",
   "type": "object",
   "properties": {
      "sequence_name": {
         "description": "Name of the sequence of the render job.",
         "title": "Sequence Name",
         "type": "string"
      },
      "output_path": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            }
         ],
         "description": "Output path of the render job.",
         "title": "Output Path"
      },
      "resolution": {
         "description": "Resolution of the images rendered by the render job.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ],
         "title": "Resolution",
         "type": "array"
      },
      "render_passes": {
         "description": "Render passes of the render job.",
         "items": {
            "$ref": "#/$defs/RenderPass"
         },
         "title": "Render Passes",
         "type": "array"
      },
      "render_engine": {
         "allOf": [
            {
               "$ref": "#/$defs/RenderEngineEnumBlender"
            }
         ],
         "description": "Render engine of the render job."
      },
      "render_samples": {
         "description": "Render samples of the render job.",
         "minimum": 1,
         "title": "Render Samples",
         "type": "integer"
      },
      "transparent_background": {
         "default": false,
         "description": "Whether to render with transparent background.",
         "title": "Transparent Background",
         "type": "boolean"
      },
      "arrange_file_structure": {
         "default": true,
         "description": "Whether to arrange file structure of the output images of the render job.",
         "title": "Arrange File Structure",
         "type": "boolean"
      }
   },
   "$defs": {
      "ImageFileFormatEnum": {
         "description": "Image file format enum.",
         "enum": [
            "PNG",
            "BMP",
            "JPEG",
            "JPEG",
            "OPEN_EXR"
         ],
         "title": "ImageFileFormatEnum",
         "type": "string"
      },
      "RenderEngineEnumBlender": {
         "description": "Render engine enum of Blender.",
         "enum": [
            "CYCLES",
            "BLENDER_EEVEE",
            "BLENDER_WORKBENCH"
         ],
         "title": "RenderEngineEnumBlender",
         "type": "string"
      },
      "RenderOutputEnumBlender": {
         "description": "Render layer enum of Blender.",
         "enum": [
            "Image",
            "IndexOB",
            "Depth",
            "Denoising Depth",
            "Vector",
            "Normal",
            "DiffCol",
            "actor_infos.json",
            "camera_params"
         ],
         "title": "RenderOutputEnumBlender",
         "type": "string"
      },
      "RenderOutputEnumUnreal": {
         "description": "Render layer enum of Unreal.",
         "enum": [
            "img",
            "mask",
            "depth",
            "flow",
            "normal",
            "diffuse",
            "metallic",
            "roughness",
            "specular",
            "tangent",
            "basecolor",
            "lineart",
            "vertices",
            "skeleton",
            "actor_infos",
            "camera_params",
            "Audio"
         ],
         "title": "RenderOutputEnumUnreal",
         "type": "string"
      },
      "RenderPass": {
         "description": "Render pass model contains render layer and image format.\n\nSupported render layer and image format:\n\n    .. tabs::\n        .. tab:: RenderLayerBlender\n\n            :class:`~xrfeitoria.data_structure.constants.RenderOutputEnumBlender`:\n\n                - img\n                - mask\n                - depth\n                - flow\n                - normal\n                - diffuse\n                - denoising_depth\n\n        .. tab:: RenderLayerUnreal\n\n            :class:`~xrfeitoria.data_structure.constants.RenderOutputEnumUnreal`:\n\n                - img\n                - mask\n                - depth\n                - flow\n                - normal\n                - diffuse\n                - metallic\n                - roughness\n                - specular\n                - tangent\n                - basecolor\n\n        .. tab:: ImageFormat\n\n            :class:`~xrfeitoria.data_structure.constants.ImageFileFormatEnum`:\n\n                - png\n                - bmp\n                - jpg\n                - exr\n\nUsed in:\n    - :class:`~xrfeitoria.data_structure.models.RenderJobBlender`\n    - :class:`~xrfeitoria.data_structure.models.RenderJobUnreal`\n    - :meth:`Renderer.add_job <xrfeitoria.renderer.renderer_base.RendererBase.add_job>`\n    - :meth:`Sequence.add_to_renderer <xrfeitoria.sequence.sequence_base.SequenceBase.add_to_renderer>`\n    - ...\n\nExamples:\n\n    .. tabs::\n        .. tab:: define\n\n            .. code-block:: python\n                :linenos:\n\n                from xrfeitoria.data_structure.models import RenderPass\n                RenderPass('img', 'png')\n                RenderPass('mask', 'exr')\n                RenderPass('normal', 'jpg')\n                ...\n\n        .. tab:: RenderJobBlender\n\n            .. code-block:: python\n                :linenos:\n                :emphasize-lines: 6\n\n                from xrfeitoria.data_structure.models import RenderJobBlender, RenderPass\n                RenderJobBlender(\n                    sequence_name=...,\n                    output_path=...,\n                    resolution=...,\n                    render_passes=[RenderPass('img', 'png')],\n                )\n\n        .. tab:: RenderJobUnreal\n\n            .. code-block:: python\n                :linenos:\n                :emphasize-lines: 7\n\n                from xrfeitoria.data_structure.models import RenderJobUnreal, RenderPass\n                RenderJobUnreal(\n                    map_path=...,\n                    sequence_path=...,\n                    output_path=...,\n                    resolution=...,\n                    render_passes=[RenderPass('img', 'png')],\n                )\n\n        .. tab:: seq.add_to_renderer\n\n            .. code-block:: python\n                :linenos:\n                :emphasize-lines: 9\n\n                import xrfeitoria as xf\n                from xrfeitoria.data_structure.models import RenderPass\n\n                with xf.init_blender() as xf_runner:\n                    seq = xf_runner.Sequence.new(seq_name='test'):\n                        seq.add_to_renderer(\n                            output_path=...,\n                            resolution=...,\n                            render_passes=[RenderPass('img', 'png')],\n                        )\n\n                    xf_runner.render()",
         "properties": {
            "render_layer": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RenderOutputEnumBlender"
                  },
                  {
                     "$ref": "#/$defs/RenderOutputEnumUnreal"
                  }
               ],
               "description": "Render layer of the render pass.",
               "title": "Render Layer"
            },
            "image_format": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ImageFileFormatEnum"
                  }
               ],
               "description": "Image format of the render pass."
            }
         },
         "required": [
            "render_layer",
            "image_format"
         ],
         "title": "RenderPass",
         "type": "object"
      }
   },
   "required": [
      "sequence_name",
      "output_path",
      "resolution",
      "render_passes",
      "render_engine",
      "render_samples"
   ]
}

Fields:
field arrange_file_structure: bool = True

Whether to arrange file structure of the output images of the render job.

field output_path: str | Path [Required]

Output path of the render job.

field render_engine: RenderEngineEnumBlender [Required]

Render engine of the render job.

field render_passes: List[RenderPass] [Required]

Render passes of the render job.

field render_samples: int [Required]

Render samples of the render job.

Constraints:
  • ge = 1

field resolution: Tuple[int, int] [Required]

Resolution of the images rendered by the render job.

field sequence_name: str [Required]

Name of the sequence of the render job.

field transparent_background: bool = False

Whether to render with transparent background.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.