DreamLight Interactive

Mastering LW ScreamerNet

DreamLight.com

Search/Index Help
Click to view DreamLight's 3D Animation Demo Reel
20 Years of Award-winning Multimedia, 1987-2007

ScreamerNet UB Advanced Network Rendering Example, Mastering LightWave ScreamerNet for Mac OS X

Previous Contents 1 2 3 4 5 6 7 8 [9] Next

Above is a screen shot of DLI_SNUB-Launcher™, an Aqua GUI for ScreamerNet UB that makes setting up and launching all your ScreamerNet UB nodes much more user friendly and far less error prone. DLI_SNUB-Launcher is available for download immediately, with a FREE LITE Version.

Step-by-step ScreamerNet UB Mac OS X
Advanced Network Rendering Example

Top

The following step-by-step example will walk you through setting up LightWave 3D 9.3 ScreamerNet UB for network rendering on Mac OS X. We’ll cover using DLI_SNUB-Launcher for fast and easy ScreamerNet UB setup and launching, as well as manually configuring and launching ScreamerNet UB using Terminal shell scripts. This example draws heavily upon information and topics covered previously throughout Mastering LightWave ScreamerNet for Mac OS X, so please review the portions leading up to this example, if you haven’t already. This example will show how to run ScreamerNet across a network using three dual processor or dual core remote rendering Macs and another dual processor or dual core Mac to serve as both host and renderer.

Setting up the Config Files for ScreamerNet UB

Top

Before setting up the individual remote rendering Macs, we’ll first set up a new SNConfigs folder with a master set of ScreamerNet UB config files independent of your normal LightWave config files. This way you can change your LightWave configs, without affecting the render farm and vice versa. This new config set may then be modified for each remote rendering machine if necessary, such as if some of them have different numbers of processors/cores or different amounts of RAM.

Setting up the Host UB Config File

Top

We’ll first set up the ScreamerNet UB specific settings in the current config file which resides in:
/Users/UserName/Library/Preferences/LightWave3D

For more information see Managing LightWave’s All Important Config Files.

  1. On the host Mac launch Applications/LightWave3D 9/Layout.
  2. Open Render->Options->Render Globals and set the Segment Memory Limit to 32.
    See Default Segment Memory for more information.
    Segment Memory Limit dialog
  3. Click yes when asked if this should be the new default setting, or it won’t be saved.
  4. Click the Render tab and set Multithreading to 1 Thread. We want each node to only use one thread each. See Multithreading for more information.
    Multithreading Setting on Render Options panel
  5. Quit LightWave to save the config file.

Creating a New set of UB Config Files for ScreamerNet

Top

For more detailed information see Managing LightWave’s All Important Config Files.

  1. Inside the /Applications/LightWave3D 9 folder, on the host Mac (the Mac that will run the controller that will control the remote render Macs), create a new folder named SNConfigs.
  2. Go to the /Users/UserName/Library/Preferences/LightWave3D folder.
  3. Copy the Layout 9 and Extensions 9 files from this preferences folder to the SNConfigs folder you made in the previous step.
  4. Now that you have a duplicate set of configs for ScreamerNet you may return to Layout and reset your render threads back to what they were originally if you wish. We'll be setting up all the ScreamerNet nodes to use their own SNConfigs files leaving the files in the preferences folder for LightWave itself.
  5. Open the /Applications/LightWave3D 9/SNConfigs/Extensions 9 file in TextEdit.
  6. The Extensions 9 file only contains references to third party plugins that you've added yourself. If you haven't added any plugins to LightWave, then this file will be blank and you are done with it and may quit TextEdit.
  7. If you have added plugins in LightWave, check the paths to see if any of them reference any folders outside the LightWave3D 9 folder. If they do, and that path won't be accessible via the network, then you will need to find/replace all instances of the paths to change them to a network accessible path. If you keep all your third party plugins inside a folder inside the LightWave3D 9 folder, then you won't need to change anything since they will be copied to each render node and their paths will remain intact.

Configuring & Launching ScreamerNet UB Interactively with DreamLight’s SNUB-Launcher

Top

After going through the tedious process of manually creating a full set of Terminal shell scripts to configure and launch all the individual ScreamerNet UB nodes, I decided there should be a better way, so I made one. I wrote an XCode Aqua GUI front end to configure and launch ScreamerNet UB nodes in a much easier and far less error prone manner. This utility is called DLI_SNUB-Launcher. The following steps will show you how to use DLI_SNUB-Launcher to more easily set up and launch your ScreamerNet UB nodes. You may use the FREE LITE Version. of DLI_SNUB-Launcher for this tutorial. If you find DLI_SNUB-Launcher as useful as I do, you may register for a FULL or PRO serial number later.

Downloading & Installing DreamLight’s SNUB-Launcher

Top
  1. Download your free lite version of DLI_SNUB-Launcher by right clicking on the link below and selecting Save Linked File from the pop-up menu.
  2. DLI_SNUB-Launcher.zip

  3. After downloading the DLI_SNUB-Launcher.zip file, unzip the file by double-clicking it.
  4. Drag the expanded DLI_SNUB-Launcher to your /Applications/LightWave3D 9 folder.

You may run the DLI_SNUB-Launcher application from any location you wish, but if you place it in your LightWave3D folder, it will be able to find ScreamerNet by itself. DLI_SNUB-Launcher defaults to look for ScreamerNet in the same folder as the DLI_SNUB-Launcher application. If you ever wish to uninstall it, simply drag DLI_SNUB-Launcher to the trash.

Copying LightWave 3D Applications to the Remote Rendering Macs

Top

Perform the following steps on each of the three remote rendering Macs. We’ll be using a remote content directory path, /Volumes/NetContent, which we will share with SharePoints as described previously. We’ll also be using a command directory named Commands, inside this content directory.

For additional information review Sharing the Content Folder with SharePoints & Mounting the Content Folder from the Render Machines.

  1. First copy the entire /Applications/LightWave3D 9 folder from the host Mac to the Applications folder on each of the three remote rendering Macs.
  2. On each of the remote Macs, in any Finder window, click the Network icon.
    Accessing the host Mac on the network
  3. Log into the host Mac with the username and password of the NetRender user you created on the host machine using SharePoints. Click the Connect button when ready.
  4. Mount the NetContent share point, which will then appear on the desktop as a volume.

Configuring & Launching ScreamerNet UB with DLI_SNUB-Launcher

Top
  1. Run/Applications/LightWave3D 9/DLI_SNUB-Launcher, on each dual processor remote rendering Mac and configure it as follows:

    • Click the -c Config Folder button and choose the /Applications/LightWave3D 9/SNConfigs folder.
    • Activate (using the check mark at the left) then click the -d Content Folder button and choose the NetContent volume/folder.
    • On the bottom Batch Render Settings drawer click the Command Folder button and choose the NetContent/Commands folder. (Use the New Folder button to create a Commands folder inside the NetContent volume/folder if you haven’t already.)
    • On each of the three dual processor remote Macs set the node numbers as follows:
    • Remote Render Machine 01: First Node # 1 Through Last Node # 2
    • Remote Render Machine 02: First Node # 3 Through Last Node # 4
    • Remote Render Machine 03: First Node # 5 Through Last Node # 6
    • Click the Launch ScreamerNetUB Nodes button on each remote Mac.
  1. Now go to the dual processor host Mac and repeat the DLI_SNUB-Launcher configuration & launch process using First Node # 7 Through Last Node #8.
  2. Any of these remote Macs may also be located on the Internet, if the host Mac has a static IP address. In such cases, simply use Mac OS X’s Go->Connect to Server on the remote Mac and type in the host Mac’s IP address. Mount the NetContent folder and proceed as if it were just another render node, following the previous steps.
  3. Now that all your ScreamerNet nodes are up and running skip ahead to the Advanced Network Rendering with the Third-party Universal Binary - ScreamerNet Controller for OS X.

Configuring & Launching ScreamerNet UB Manually with Terminal Shell Scripts

Top

Another way to configure and launch the ScreamerNet UB nodes is to use manually configured shell scripts that can be run in Terminal. For a much easier and far less error prone method to configure and launch the ScreamerNet UB nodes, just use the previous method - Configuring & Launching ScreamerNet UB Interactively with DreamLight’s SNUB-Launcher.

For those hardcore users who wish to use the shell script approach, the following steps will walk you through manually creating a set of shell scripts that will hold all the command line configuration information for each individual ScreamerNet UB node. These shell scripts may then be used to launch the ScreamerNet UB nodes using the Terminal.

Setting up ScreamerNet UB Shell Scripts for the Remote Macs

Top

In this example we’ll make six shell scripts for six ScreamerNet UB remote render nodes which we’ll run on three dual processor or dual core Macs. We’ll be using a remote content directory path, /Volumes/NetContent, which we will share with SharePoints as described previously. We’ll also be using a command directory named Commands, inside this content directory.

  1. Launch TextEdit to create a new blank text file. If you see rulers on the window go to Format->Make Plain Text to remove them and set the document to plain text.
  2. Now type or copy/paste the following into the blank document, including the quotes, all one line.

    "/Applications/LightWave3D 9/ScreamerNet" -2 -c"/Applications/LightWave3D 9/SNConfigs" -d"/Volumes/NetContent" "/Volumes/NetContent/Commands/job1" "/Volumes/NetContent/Commands/ack1"
  3. Save this shell script file in the LightWave3D 9 folder as SN-01.sh, verifying that it says Plain Text Encoding at the bottom of the save panel.
  4. With the SN-01.sh file still open, edit the file’s contents by changing the job and ack numbers both to 2, as follows:

    "/Applications/LightWave3D 9/ScreamerNet" -2 -c"/Applications/LightWave3D 9/SNConfigs" -d"/Volumes/NetContent" "/Volumes/NetContent/Commands/job2" "/Volumes/NetContent/Commands/ack2"
  5. Save as, this edited shell script file as SN-02.sh, in the LightWave3D 9 folder.
  6. Be sure to click the Use .sh button when asked if it should use .txt or .sh as an extension.
  7. Repeat this process until you have SN-01.sh through SN-06.sh files.

Setting up ScreamerNet UB Shell Scripts for the Host Mac

Top

Now we’ll make two more shell scripts to run on the host Mac, which in this case is also a dual processor or dual core Mac. The local path to the NetContent folder will be different on the host Mac than it is on the remote Macs. In our case it’s at the top level of an external hard drive with the following path.
/Volumes/WorkHD/NetContent
In your case, replace WorkHD throughout the following examples with your actual local path to the NetContent folder that’s being shared with SharePoints.

  1. Open the SN-06.sh shell script file in TextEdit.
  2. Edit the file’s contents by changing the job and ack numbers to 7 and editing the three NetContent paths as follows, substituting your actual local path to your NetContent folder.

    "/Applications/LightWave3D 9/ScreamerNet" -2 -c"/Applications/LightWave3D 9/SNConfigs" -d"/Volumes/WorkHD/NetContent" "/Volumes/WorkHD/NetContent/Commands/job7" "/Volumes/WorkHD/NetContent/Commands/ack7"
  3. Save this edited shell script file as SN-07.sh, in the LightWave 3D 9 folder.
  4. Be sure to click the Use .sh button when asked if it should use .txt or .sh as an extension.
  5. Next change the job and ack files to 8 and save the edited version as SN-08.sh in the LightWave3D 9 folder.

Making the ScreamerNet UB Shell Scripts Executable

Top

We now need to make all the shell scripts that we just created executable.

  1. Launch /Applications/Utilities/Terminal
  2. Type into the Terminal window, cd followed by a space.
  3. Drag the LightWave3D 9 folder from the Finder to the Terminal window to load that path into Terminal.
  4. With the Terminal window in the foreground, press the return key to execute the change directory (cd) command. This will change the current directory in Terminal to the LightWave3D 9 folder.
  5. Now type the following command into Terminal and press the return key.
    chmod +x SN-*.sh
  6. This will make all the SN-01.sh through SN-08.sh script files executable so that you can run them through the Terminal to launch the ScreamerNet UB instances when needed.
  7. Quit Terminal.
  8. Finally copy the /Applications/LightWave3D 9 folder from the host Mac to the Applications folder on each of the remote rendering Macs.

Launching the ScreamerNet UB Nodes on the Rendering Machines

Top

Perform the following steps on each of the remote rendering Macs. The shell scripts may also be run remotely from the host Mac by using ssh to log into each of the remote Macs to run the scripts.

For additional information review Sharing the Content Folder with SharePoints & Mounting the Content Folder from the Render Machines.

  1. On each of the remote Macs, in any Finder window, click the Network icon.
  2. Log into the host Mac with the username and password of the NetRender user you created on the host machine using SharePoints. Click the Connect button when ready.
  3. Mount the NetContent share point, which will then appear on the desktop.
  4. Open the /Applications/LightWave3D 9 folder, on the remote rendering machine, not on the host Mac.
  5. Run the next two available SN-0#.sh shell scripts, one at a time, on each dual processor remote machine as follows.
    • Remote Render Machine 01: SN-01.sh & SN-02.sh
      • Launch/Applications/Utilities/Terminal
      • Drag SN-01.sh from the Finder to the Terminal window.
      • Bring the Terminal window to the front and press the return key to launch the ScreamerNet node #1. Note that each ScreamerNet instance will repeatedly write Can't access job file to the Terminal window. This is normal, until the render controller is started, which creates the job files.
      • Press command-N to make a new Terminal window.
      • Drag SN-02.sh from the Finder to the second Terminal window.
      • Bring the second Terminal window to the front and press the return key to launch the ScreamerNet node #2.
      • Repeat these steps on each remote render machine using the appropriate SN-##.sh shell script files as follows.
    • Remote Render Machine 02: SN-03.sh & SN-04.sh
    • Remote Render Machine 03: SN-05.sh & SN-06.sh
  6. Now go to the dual processor host Mac and repeat the same process for SN-07.sh & SN-08.sh
  7. Any of these remote Macs may also be located on the Internet, if the host Mac has a static IP address. In such cases, simply use Mac OS X’s Go->Connect to Server on the remote Mac and type in the host Mac’s IP address. Mount the NetContent folder and proceed as if it were just another render node, following the previous steps.

Advanced Network Rendering with the Third-party Universal Binary - ScreamerNet Controller for OS X

Top

Since the basic network render controller that is built in to LightWave is somewhat limited for use in a production environment, we’ll use third-party ScreamerNet controllers in this example.

The only third-party ScreamerNet controller that is currently compatible with ScreamerNet UB is Jonathan Baker’s excellent ScreamerNet Controller for OS X which has the following benefits over the built-in LightWave ScreamerNet network render panel.

  • Properly translates render output paths between LWPPC & LWUB scenes.
  • Handles remote and local paths so that you can use SharePoints.
  • Allows scenes to be added or deleted from the render queue at any time.
  • Allows the queue to be reordered at any time.
  • Saves the queue so it may resume in the event of a crash or power outage.
  • Scans for completed frames when adding scenes so that you can resume a crashed scene or stop and continue a render at another time.
  • Jonathan Baker is extremely responsive to the users and quickly fixes any bugs.

Setting up ScreamerNet Controller for OS X

Top

ScreamerNet Controller for OS X is easy to setup and use. Just follow these simple steps:

  1. Download the latest version of ScreamerNet Controller.
    Version 4 and later is the Universal Binary version.
  2. Double-click it to expand the ".zip" archive.
  3. Double-click the ScreamerNet Controller.pkg file and follow the installation instructions.
  4. Run ScreamerNet Controller Application.
  5. Select the ScreamerNet Controller for OS X -> Registration… menu item and enter your registration info. A professional license is needed to run more than five render nodes.
  6. Select ScreamerNet Controller for OS X -> ScreamerNet Controller Preferences…
  7. Next to "For Mac network nodes, the following path is mounted:" click the Set Path button.
  1. Navigate to the NetContent folder and click the choose button.
  2. Type NetContent into the corresponding text field, and hit OK.
  3. Next select the menu CPUs -> Set Max CPUs… and enter the number of ScreamerNet instances you are running. In this case we’re using 8. You’ll then see 8 CPUs listed in the top window pane.
  4. Select the menu CPUs -> Set Command Directory… and navigate to the Commands folder inside the NetContent folder and click the choose button. Now each of the CPUs should initialize and finally change to a status of Ready. If they don’t, then your setup is incorrect. Both ScreamerNet Controller and all the ScreamerNet UB instances must be pointed to the same command directory. They all must also have read/write access to that directory. They communicate with each other by reading and writing simple text files to this common shared directory.
  5. Now go down the CPU list and double-click on each one to open the CPU options.

  1. Turn on the Use Remote Mounting Path (Mac Only) option for all the remote nodes that are not running on the host machine (1-6 in this example). Leave this option OFF for the ScreamerNet instances that are running on the host machine (7-8 in this example). While you are doing this, you may also give each instance a name that makes it easier for you to keep track of which machine is running which ScreamerNet UB instance.

Adding Scenes to ScreamerNet Controller for OS X

Top

Add the first scene to the render queue.

  1. Select the menu Scenes -> Add Scene…, locate and load the first scene: "NetContent/Scenes/
    Cel_Shade/Drunk_Zombie.lws"
  2. Set the settings for Start Frame to 100, End Frame to 200 and Step to 10
  3. Set the RGB Output File Path by click on the change button.
  4. Navigate to the NetContent/Renders folder if it already exists, otherwise create a New Folder in the top level of the NetContent folder named Renders.
  5. Navigate to the NetContent/Renders/Drunk_Zombie folder if it already exists, otherwise create a New Folder in the Renders folder named Drunk_Zombie.
  6. Use Drunk_Zombie as the Save As: name and click the Save button.
  7. Set the Files will be saved as: pop-up to LW_JPEG(.jpg)
  8. Click the OK button and the scene will be added to the render queue where it will be loaded by the nodes and they will begin rendering.

Add the second scene to the render queue.

  1. Select the menu Scenes -> Add Scene…, locate and load the second scene: "NetContent/Scenes/
    Expressions/BigWheel.lws"
  2. Set the settings for Start Frame to 30, End Frame to 60 and Step to 2
  3. Set the RGB Output File Path by click on the change button.
  4. Navigate to the NetContent/Renders/BigWheel folder if it already exists, otherwise create a New Folder in the Renders folder named BigWheel.
  5. Use BigWheel as the Save As: name and click the Save button.
  6. Set the Files will be saved as: pop-up to LW_JPEG(.jpg)
  7. Click the OK button and the scene will be added to the render queue where it will be loaded by the nodes and they will begin rendering.

Rendering Scenes with ScreamerNet Controller for OS X

Top

  1. As each frame is rendered, it appears in the appropriate NetContent/Renders folder.
  2. When done, CPUs -> Select All Active CPUs. Then CPUs -> Remove CPUs. This will quit all the running ScreamerNet instances. Then Quit ScreamerNet Controller and un-mount NetContent from each of the remote Macs where you can also quit all the Terminal apps on each remote Mac.

Previous Contents 1 2 3 4 5 6 7 8 [9] Next

To view this site properly, please upgrade to a browser that supports current Web standards.

BlastOff! Wins a Silver W3 Award in the Pioneering Category of Web Video - 3D Animation

BlastOff! Wins an Official Honoree Webby Award in the category of 3D Animation

DreamLight Incorporated, 14 Union Street, Suite 2R, Woburn, MA 01801 USA, Telephone: 781-932-6333
Search/Index Top Help