Skip to content

olixyz/Simple-Render-Queue

Repository files navigation

Simple Render Queue

This is a script for cli-rendering with Blender on a single machine.

The queue is a simple text-file where each job is a line:

/path/to/blenderfile.blend -c 1 -f 1..100, 150, 151 -p render_settings.py

Flags are:

  • -c chunksize
  • -f frames to render: ranges and single frames
  • -p optional python script to make scene changes through Blenders API (e.g. use it for render settings)

The queue can be updated and changed. After finishing a chunk, the script reads the file again and reacts to the changes.

The script looks at the output directories of each job to figure out the list of missing frames.

Global Switches

The queue can contain a line with global switches:

switches: -jump -mod 0,5,2,8,1,9,3,7,4,6 -c 10

  • -jump jump to next job after finishing a chunk
  • -mod only render frames that end on a number. This list is a progression: when all frames ending on 0 are rendered, continue with frames ending on 5
  • -c a global chunksize override

-jump combined with -mod is extremely helpful for getting frames of many passes/takes ready for compositing fast.

The compositing file could even be added as the last job in the queue and thereby output comped frames for frames where all required pass/take frames are present.

Stop Rendering

Interrupt the script with CTRL c. A cleanup function will terminate the render subprocess.

Re-render frames

The script checks the image sequences in the output directories to figure out the list of missing frames. If you want frames re-rendered, just delete/move them from the output.

Output Directories

The output is set by the script.

Frames are written to a render directory next to the .blend file. Folder and image name is same as the .blend file:

.
├── render/
│   ├── file_a/
│   │   └── file_a.####.exr
│   ├── file_b/
│   │   └── file_b.####exr
│   └── file_c/
│       └── file_c.####.exr
├── file_a.blend
├── file_b.blend
└── file_c.blend

Running the script/demo

Run the script and specify the queue file:

python simple_render_queue.py q.render

About

Cli-rendering with Blender on a single machine using a text file as job queue.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published