Skip to content

Oversimplified setup of a tiny Windows Bella renderfarm

License

Notifications You must be signed in to change notification settings

oomer/bellarenderfarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Oversimplified setup of a tiny Windows Bella renderfarm

Deadline is free-to-use software to create a renderfarm. It has 20 years of features and security wrappers ideal for the biggest of studios. This guide basically ignores most of those features and security wrappers to help a lone artist set up a tiny renderfarm. Hopefully this oversimplification will get you rendering a Bella scene on five computers by the end of the day. Once you are happy it works, I recommend you read Thinkbox's documentation to audit your security and performance and to explore all the advanced features.

Overview

  1. Introduce the various moving parts of the renderfarm
  2. Create and share C:\\DeadlineRepository10 on a Windows computer, this will be the Repository
  • pretend your server is named SAURONsimplifies this guide
  • UNC path would thus be \\SAURON\DeadlineRepository10
  1. Create a folder called C:\\DeadlineRepository10\BellaSharedsimplifies this guide
    • feel free to substitute your own network share
    • your Bella files, textures and references live here
  2. Install DeadlineRepository software along with a MongoDB database on SAURON
  3. Run DeadlineClient and BellaCLI installers on five Windows computers ( including SAURON )
  4. Copy Bella plugin scripts to `\\SAURON\DeadlineRepository10\plugins'
  5. Copy Bella submission scripts to `\\SAURON\DeadlineRepository10\scripts\Submission'
  6. Copy sample scenes to `\\SAURON\DeadlineRepository10\BellaShared'
  7. From Computer_1 right click deadlinelauncher in systemtray Submit->BellaTimeOfDay
  8. Choose sample scene \\SAURON\DeadlineRepository10\BellaShared\BellaTimeOfDay.bsx
  9. Hit submit and go make a sandwich
  10. right click systemtray->deadlinelauncher->Launch Monitor to check on renderfarm
erDiagram
9   Computer_2 ||--o{ SAURON: "Hey database is there work? "
    Computer_2 {
        hub deadlinelauncher
        client deadlineworker
        renderer bella_cli
    }
    Computer_3 ||--o{ SAURON: "Hey database is there work?"
    Computer_3 {
        hub deadlinelauncher
        client deadlineworker
        renderer bella_cli
    }
    Computer_4 ||--o{ SAURON: "Hey database is there work?"
    Computer_4 {
        hub deadlinelauncher
        client deadlineworker
        renderer bella_cli
    }
    SAURON {
        hub deadlinelauncher
        client deadlineworker
        renderer bella_cli
        server DeadlineRepository10
        server MongoDB
    }

    SAURON ||--o{ Computer_1: "Hey, I want renders"
    Computer_1{
        hub deadlinelauncher
        client deadlineworker
        renderer bella_cli
        create_scene Rhino-Maya-Sketchup-BellaGUI
        submit_scene via-deadlinelauncher-or-deadlinemonitor
    }
Loading

Bella

bella_cli-22.8.0.zip

Bella Render is a modern commercial path tracer developed by Diffuse Logic. DCC plugins, a standalone GUI and command line interface (CLI) are supported on MacOS and Windows. The CLI executable is available for Linux.

  • A Bella license include 5 node licenses for command line rendering using:
    • C:\Program Files\Diffuse Logic\bella_cli.exe
    Renderfarm sidenotes:
    • Bella's .bsz file format wraps models and textures into a single file
    • bella_cli.exe has a parseFragment argument allowing sophisticated rendertime customizations
    • The Atlas solver can do cooperative rendering of a single scenefile on multiple computers
    • Deadline can add a post-render job to merge all renders into a single image
    • Saturn cooperative rendering support is planned

Deadline

Deadline is renderfarm software developed by Thinkbox Software and owned by Amazon. Before August 2022 it was available with usage based licenses but is now free of charge on Windows, Mac and Linux. Download installers from https://awsthinkbox.com. An Amazon Web Services account is required. Deadline's history

Client Software

DeadlineClient-10.1.23.6-windows-installer.exe

Here are some of the client programs in:

C:\Program Files\Thinkbox\Deadline10\bin\

Deadline's LauncherHub for all tools
When you log into Windows, deadlinelauncher.exe runs
It is a useful hub to launch all other tools.
Deadline's Worker
deadlineworker.exe watches for jobs and then launches bella_cli
Deadline's Monitor
deadlinemonitor.exe displays all computers that can render
Along with monitoring, you can cancel, redirect, and submit jobs

Server Software

DeadlineRepository-10.1.23.6-windows.installer.exe

The Deadline server provides instructions and render data to the clients

Repository
Shared renderfarm software and job data
Copy Bella plugin here and all clients can use it. 
Database
This accepts job submissions and tracks fullfillment.

STEP A. Create a network share to host the Deadline Repository

remember we are playing pretend, where one of your computers is named Sauron

  • Create folder DeadlineRepository10 in C: drive on SAURON

  • right click C:/DeadlineRepository10->Properties->Sharing, click Share

  • Add Everyone, change Permission Level to Read/Write. Click Sharerequires admin password

    • \\SAURON\DeadlineRepository10 network share
    • all computers can read/write to \\SAURON\DeadlineRepository10See official docs for security recommendations
    • Sauron has static ip address not dhcprecommended for any server

STEP B. Run Deadline Repository installer on Sauron

  • DeadlineRepository-10.1.23.6-windows.installer.exe requires admin password

\\SAURON\DeadlineRepository10 should be interchangeable with C:\DeadlineRepository10 in this setup so either can be used. We already gave Everyone full read/write so either check or no check.

Choose MongoDB as the database, new installation, download, accept license

  • If you have more than one network device, make certain MongoDB Hostname is set to the correct IP address
  • MongoDB Port is the network port that the Workers will connect on

For expediency we skip enhanced securitysee official recommendations, uncheck Require SSL

STEP C. Run installer on all computersincluding SAURON

DeadlineClient-10.1.23.6-windows-installer.exe

Even though Remote Connection Server is recommended, choose Direct Connection to remove a few steps

  • Click Yes, unless you lied about:
  • all computers can read and write to the \\SAURON\DeadlineRepository10
  • Check in File Explorer if unsure

  • Reboot and log into Windows
  • deadlinelauncher.exe should start
  • if not start it C:\Program Files\Thinkbox\Deadline10\bin\deadlinelauncher.exe
  • Windows Defender Firewall will ask for network permissionadmin password required
  • deadlineworker.exe should also start
  • Windows Defender Firewall will ask for network permissionadmin password required

When you start any Deadline app for the first time, Windows Defender Firewall will request permission

This popping up on your client computers means the Deadline Repository and Database were set up correctly

Click on the Worker Information tab

Your renderfarm is ready to render

STEP D: Install Bella CLI on all computers

  • Make sure Bella CLI installs to this location
  • C:\Program Files\Diffuse Logic\Bella CLI\bella_cli.exe

STEP E: Install Deadline plugin for Bella from one computer

Get the code with

git clone https://github.com/oomer/bellarenderfarm.git

or

https://github.com/oomer/bellarenderfarm/archive/refs/heads/main.zip

Bella plugin directory with code and settings

  • In the zip folder bellarenderfarm/DeadlineRepository10/custom/plugins/ copy the entire Bella directory to the Repository at \\SAURON\DeadlineRepository10\custom\plugins\

Submission GUI code

  • In the zip folder bellarenderfarm/DeadlineRepository10/custom/scripts/Submission/ copy the script Bella.py to the Repository at \SAURON\DeadlineRepository10\custom\scripts\Submission\

Samples to get you started

  • In the zip folder bellarenderfarm/DeadlineRepository10/ copy the entire BellaShared folder to the Repository at \SAURON\DeadlineRepository10\

Four files should look like this in the Repository

\\SAURON\DeadlineRepository10\custom\plugins\Bella\bella.ico
\\SAURON\DeadlineRepository10\custom\plugins\Bella\Bella.param
\\SAURON\DeadlineRepository10\custom\plugins\Bella\Bella.py
\\SAURON\DeadlineRepository10\custom\scripts\Submission\BellaSubmission.py

Optionally copy over the directory BellaShared to \\SAURON\DeadlineRepository10 if you need some bella samples

STEP F: Submit a sample bella scene from the launcher

A GUI submission dailog is available from any machine you have installed deadlinelauncher.exe or deadlinemonitor.exe

In the systemtray, hovering over the Deadline Launcher icon should show your are connected

Right clicking on the systemtray deadline launcher will bring up the Submit menu

File browse and directory browse making sure Bella File and Image Output Directory are both network accessible from all computers or else your render will fail. Hit Submit.

STEP G: Submit a sample animation from the monitor

Right click on the systemtray deadline launcher and select Launch Monitor the monitor should appear with 3 main areas Jobs, Task and Workers

The Job area should have one entry for the bella submission you made in STEP F. If it is 100% completed blue or green and being worked on, that is good.

Select the Job and the Task window will which computer worked on that task and the status. If you have errors, double click on the task and then double click on the log to show the rendering console output from bella_cli.

If you have errors, read the logs to figure out what the problem is. 90% of the time the problems are network related or permissions related.

Try submitting the animation sequence

Enjoy

About

Oversimplified setup of a tiny Windows Bella renderfarm

Resources

License

Stars

Watchers

Forks

Languages