Distributed Rendering: Introduction

 

Introduction
 

The distributed rendering program that is packaged with LightWave is called ScreamerNet. It uses Layout’s Network Rendering panel (Render > Network Render) to control submitting scenes to networked computers running the ScreamerNet process. ScreamerNet can control up to 1,000 CPUs. Each CPU takes a frame, renders it, and then grabs the next available frame in the animation until the scene is complete.

If you're familiar with NewTek lore, you'll remember the speedy (for its day) computer prototype called Screamer. This is back in the Seaquest and Babylon 5 years when LightWave studios were cranking out TV visual effects on render farms of Amiga 4000's. It was from these days that ScreamerNet was born. Though many who have toiled to set up ScreamerNet would swear (as in curse) that the title has more to do with the resulting mental state.

Honestly, the set up of ScreamerNet can be tedious and the command lines sound a bit like a cat coughing up a hairball; but when you have ScreamerNet running and you're churning through frames in record time, you'll be screaming for joy.

Note: ScreamerNet is limited in its features. If you are a serious studio or just need more features and flexibility when rendering scenes, you should check out third party rendering programs that are more powerful and feature laden.

Are You Talking to Me?
Before ScreamerNet is discussed, your computers must be talking to each other, which means they need to be networked together. Setting up a network is beyond the scope of these instructions, though the experience can be quite rewarding. If you don’t have your computers networked, go on, we’ll wait.

Hint: Since ScreamerNet communicates by writing files. NetBEUI and TCP/IP are not required. As long as each machine can see each other and write files across the network, ScreamerNet should function properly.

Note: If you are network deprived, you still can use ScreamerNet to batch-render multiple scenes on a single computer. See the Batch Rendering on One Computer section near the end of this chapter.

Share and Share Alike
Once you have created your network and the computers are talking to each other, you’re ready for the next step. On our render farm, let’s say that we have four computers (Pig, Horse, Cow, and Chicken) networked together. (For now, imagine that they are all single CPU machines.)

 

 

 

In a ScreamerNet setup, you designate one of the computers as the control or host machine. It hands out the rendering assignments, (called jobs), to the nodes (the CPUs on the network used for rendering). The host must have LightWave installed on it. In this scenario, Pig will be the control machine. Node machines do not need any NewTek software or hardware on them.

 

 

For ScreamerNet to work, all the nodes need to access specific files. Of course, all the nodes need to share the scene file and all its accompanying data including object and image files. If you’re organized, all these will be tucked away in your LightWave Content directory. Also, the nodes need to save the rendered frames to a shared directory. Each node must be able to load a plug-in configuration file (LWEXT8.CFG) that has the plug-in files mapped with a path that the node can access. Finally, the ScreamerNet command program, (LWSN.EXE), needs to be visible to all the nodes.

Perhaps some of the confusion about setting up a ScreamerNet system arises because there is more than one way to organize a sharing scheme and you may have read tutorials that herald one method over another. If set up properly, all the schemes will work. So depending on your situation and disposition, you should choose the most suitable one for you.

Note: The following instructions refer specifically to setting up ScreamerNet on a Windows based system. You also can use ScreamerNet on Mac and Linux computers. You can find helpful tutorials for those systems on Scott Cameron’s LightWave tutorial website, http://members.shaw.ca/lightwavetutorials/.

Drive Mapping
To share, data must be at a unique address that all the nodes on the network can access. Normally, your scene file is sitting in your LightWave Content directory, which is typically on your C drive. In our case, the scene, oldmacdonald.lws, would be in Pig, the host computer. Now in our animal farm network, Pig, as the host, would distribute out a rendering job that said, “Render oldmacdonald.lws that is on the C drive.” The problem is that when Horse gets that instruction, it looks on its C drive and can’t find the scene. So Horse says, “neigh.” It cannot render a scene that it can’t find.

The solution is to map a unique network drive (or drives) that contains all the necessary LightWave files. Normally, these files will be on the host computer. If that is your case, go to your host computer and on your Windows screen, right click on the Network Places icon and choose Map Network Drive
 

 

 


In the panel, when you specify a drive letter, make sure that it is unused by any of the computers on your network. For example, Pig might only use five drive letters, A to E, so letters F to Z are available. But Chicken may have a dozen hard drives on its computer, which means it is using drive letters A to L. If you mapped a drive on Pig with the letter G, Chicken could still be confused. In our situation, we’ll pick S for the drive letter.
 

 

 


Next, you specify the folder that you want to connect to this drive letter. There are two schools of thought about the folder. The orderly and efficient approach makes a folder with only the necessary files in it and attaches it to the mapped drive letter. The “kitchen sink” method simply picks the hard drive LightWave is in and selects that as the folder. For example, on Pig, LightWave is in the C drive. In the
Map Network Drive panel, you would click Browse… next to the Folder entry box. Under Microsoft Windows Network, go to Pig and highlight the C drive. Click OK. The Folder box would read \\Pig\C.
 

 

 


Now if you want to be more elegant about your mapped drive, you can just map your LightWave folder. The process is the same, right click on the
Network Places icon, choose Map Network Drive… and specify a unique drive letter. This time when you browse for a folder to attach, select your LightWave folder.

Both of the above methods assume that all the necessary files are in your mapped drive. If you’re organized, then all of your objects and images will be in your Content folder. Back in the old days of the 20th Century when humongous hard drives were nine gigabytes and drive space was scarce, often you would store your rendered frames on another drive. If your scene accesses any data from other drives or stores frames elsewhere, then those folders must be accessible to the network nodes. That means that you will need to map more drives.

For another way of sharing folders, Matt Gorner, (in an exhaustive, informative ScreamerNet tutorial), shuns the drive mapping technique. In his method, (which you should read about directly), he simply sets up network sharing access of his LightWave folder. Matt goes into great detail about the whole process.

Since all the computers on your network need to share files with this mapped drive, you will need to map that drive on all your computers. After you have, you can test the connection by copying files into that drive from the node computers.

Organizing Configuration Files
Unfortunately, we are not finished with this job. But guys, before we move on, let’s discuss the “c” word – commitment. Often you will read about ScreamerNet setups that construct two file directories, one specifically for ScreamerNet and another for when you don’t use ScreamerNet. Listen, if you have gone to all this trouble to woo the girl, commit. You’ll see no difference in running LightWave under a ScreamerNet setup; and if you decide to render across your network, you’ll be ready to go. Of course, if you’re commitment phobic, then Matt Gorner explains a nifty way of organizing a dual setup.

The next steps involve changing certain LightWave configuration files so that they are ScreamerNet friendly. Before you do, you should get those files where you can see them. Start by creating a new folder in your LightWave directory called Config. Now, click on the My Computer icon and do a search for LWEXT8.cfg, (the plug-in configuration file), and move it to the Config folder. (Often it is buried in the Documents and Settings directory.) Do the same for the LW8.cfg file.

Next, you need to point LightWave to that Config folder when you start the program. On your Windows desktop, right-click on the LightWave icon and select Properties.
 

 

 


Depending on your setup, in the
Target box, it will say something like:

C:\Lightwave8\Programs\lightwav.exe

This points to Layout’s program file.

If you have set up the Config folder, change this line to read:

C:\LightWave\Programs\lightwav.exe -cc:\LightWave\config

The first part is unchanged. The second part, ( -cc:\LightWave\config), tells LightWave where to look for the configuration files. The -c is the config cue. The rest (c:\LightWave\config) is simply the path.
 

 

 


Note: This is a command between you and your host computer so the path does not need to reflect the network mapped drive letters. Though if you want to remain consistent, than you would write this Target command in ScreamerNet terms. In our case, it would then read:

S:\LightWave\Programs\lightwav.exe -cS:\LightWave\config

Please notice that there is no space between the -c and path name.

Command Directory
When you run ScreamerNet, the host sends out Job files to the nodes and receives Ack (Acknowledgement) files back. You need to set up a Command directory to store these files. So, in your LightWave directory, create a new folder titled Command.  
 

 

 


Now open up Layout on your host computer. Click the
Render tab and under Utilities, click on Network Render. In the Network Rendering panel, click on Command Directory and locate the newly created Command folder on your mapped drive. In our case, S:\LightWave\Command.

A message pops up that says, “ScreamerNet must be reinitialized whenever the command directory is changed. Initialize now?” Click, Yes. You can close the Network Render panel.
 

 

 


Next, click
Edit > Set Content Directory. Choose the Programs directory on your mapped drive, in our case, S:\LightWave\programs.

Finally, you need to remap your plug-ins. And again, there are two methods. The search and replace technique involves opening the LWEXT8.cfg file in a text editor. The lines would originally look like this:

{ Entry
Class "AnimLoaderHandler"
Name "AVI(.avi)"
Module "C:\\LW8Beta\\lightwave_8\\plug-ins\\input-output\\avi.p"
}
{ Entry
Class "AnimLoaderHandler"
Name "DirectShow(.avi)"
Module "C:\\LW8Beta\\lightwave_8\\plug-ins\\utility\\dvview.p"

You would search for C: and replace it with your mapped drive letter. In our case, it would be S:. Save your changes and you’re done. This method is great if you like to dig in there, get your hands dirty and see exactly what you are doing.

In Matt Gorner’s solution, you click on the Utilities tab in Layout and select Edit Plug-ins. In the panel, choose Scan Directory. Browse to your mapped drive and highlight the Plug-ins folder. Hit OK and an Add Plug-ins window will pop up. Next, if the lscripts folder is not in the plug-ins folder, then choose Scan Directory again, highlight the lscripts folder and click OK. Now, if you open the LWEXT8.cfg file in a text editor, you should see that all of the plug-ins have been remapped to the network drive.

To save the changes to the configuration files, you need to Quit LightWave. When you start it up again, the new configurations will be loaded.

Yackety, yak
All right, now that you have all the necessary files configured and in folders that can be accessed by all the nodes, it is time to set up ScreamerNet itself. In our example, we have four computers in our ScreamerNet render farm. Pig is the host and will be handing out directions to the other three rendering nodes. To keep organized, you will assign a unique number to each node.

Note: Since being the Host computer is not too taxing, you probably also will want to use it as a rendering node.

To initialize a node for ScreamerNet, you need to create a separate file that you will store and run on each node. To assist you, in the LightWave\Programs directory, you can find a file called startlwsn_node.bat. Open it up in a text editor. It should read:

cd S:\Lightwave\Programs

LWSN.exe -2 -cS:\Lightwave\Config S:\Lightwave\Command\job1 S:\Lightwave\Command\ack1

You can use this file as a guide. It consists of two lines. (Everything from LWSN.exe to ack1 is the second line.) Edit it to fit your specific setup and save it with a new name. Each computer that is a rendering node needs this file on it. You can call it whatever you want, just remember to keep the .bat extension. Be creative – YouScreamIScream.bat or SpeedKills.bat.

The first line indicates where to find the lwsn.exe program. The second line begins by running the ScreamerNet program in –2 mode. (There is a –3 mode that is explained later.) Simply, leave this part of the line as it is.

Next is a –c command, which indicates where to find the configuration program. If you have been following along, you will have set up a Config folder and moved your LW8.cfg and LWEXT8.cfg files there. If it is located elsewhere, change this path.

The next path tells ScreamerNet where to find the job commands. Again, if you have been following along, you have created a Command folder and changed the Command Directory path in Layout. The last path simply indicates where the acknowledgement (ack) files are located.

The numbers after job and ack indicate the node that is running this batch file. Each node has a unique number. Usually, if you are using the host computer as a rendering node, you assign it number 1. So, its batch file would read job1 and ack1. In our case, Pig would be node 1. You then number the other nodes. For example, Horse would be 2, Cow would be 3, and Chicken would be 4.

Each of the computers on your network needs a copy of this node initialization batch file customized to it. For example Horse’s file would read:

cd S:\Lightwave\Programs
LWSN.exe -2 -cS:\Lightwave\Config S:\Lightwave\Command\job2 S:\Lightwave\Command\ack2

Cow’s would say:

cd S:\Lightwave\Programs
LWSN.exe -2 -cS:\Lightwave\Config S:\Lightwave\Command\job3 S:\Lightwave\Command\ack3

If any of the computers have multiprocessors, then it would need two batch files. Let’s say Chicken is a dual processor machine. You would create one file for each processor. The first might read:

cd S:\Lightwave\Programs
LWSN.exe -2 -cS:\Lightwave\Config S:\Lightwave\Command\job4 S:\Lightwave\Command\ack4

The other would say:

cd S:\Lightwave\Programs
LWSN.exe -2 -cS:\Lightwave\Config S:\Lightwave\Command\job5 S:\Lightwave\Command\ack5

Obviously, you would have to name the batch files differently, such as StartNode4.bat and StartNode5.bat.

When you have all the batch files placed on the node computers, create a shortcut for them on your desktop.

ShowTime
You are about ready to make the magic happen. Go back to your host computer, open Layout and load the scene that you want to render over the network. Make sure that the Content directory is set to the mapped drive.

Under the Render tab, open up the Render Options panel. Sometimes, you may not want to render all the frames in the scene. What you can do is set the Render First Frame and Render Last Frame fields to the desired range of frames. Make sure that you have Auto Frame Advance checked.

Also, check Save RGB.  Remember, ScreamerNet only renders individual frames. It will not render animation files. In the RGB Files field, indicate the network-mapped path of where you are saving files. For example, S:\LightWave\Frames.

Save the scene.

Hint: You can batch render scenes in ScreamerNet. So you could save a scene and then go back and change it (for example, to render a different range of frames) and then save the scene with another name.

Once the scene(s) are saved, click on the Render tab and Network Render. In the Network Rendering Method, choose ScreamerNet II, (which is probably the only choice you have).

The number that you enter in the Maximum Number CPU field should be the highest number node that you will be using. For example, if we would be using just node 1 (Pig) and node 2 (Horse), you would enter 2. But let’s say that Horse wasn’t available but Cow was. Even though, you are still using only two nodes, you would enter 3 so that ScreamerNet would look for node number 3, which is Cow.

Now go to the node computers and click on the batch file icons that you created. A black MS-DOS window will open up and before you can start reading what it says, a continuous flow of repeating messages will probably begin. Depending on your exact setup, the message will read like:  
 

 

 


Can’t open S:\Lightwave\Command\job1

This will be normal until LightWave initializes ScreamerNet. Once you have started all your nodes, return to Layout and click on the Screamer Init button.
 

 

 


After a brief pause, you will receive a confirmation of the number of CPUs detected and the Screamer Init field will say Ready.
 

 

 


Now, if you look back at the node’s MS-DOS window, the message will say Init and then Wait. The nodes are waiting for their job commands.
 

 

 


In the
Network Rendering panel, click on Add Scene to List and find the scene or scenes. They will be displayed in the Scene List in the order they were selected. Notice that the List indicates the First and Last Frame to render, the frame advance Step, and the % of those frames that have been rendered.

If you added a scene by mistake, highlight it and click Remove Scene. If you want to remove all the scenes, click Clear List.

When the list is complete, click on Screamer Render. The job commands will be sent to the nodes, which are waiting in line. Node 1 receives the first frame, node 2 will take the second, and so on down the queue. If you look back at the node’s window, you will see it document its progress in the render.

As soon as a node finishes a frame, it receives the job to render the next available frame in the scene. When the scene is completed, ScreamerNet jumps to the next scene in the list.

Note: You may wish to check some of the first frames in a photo editing program to see if they are what you expect. If you are having problems, please read the Troubleshooting section below.

When you are finished rendering all the scenes and are ready to close ScreamerNet, click the Screamer Shutdown button. A panel will pop up that says, “Are you sure you want to shut down the ScreamerNet CPUs?” If you choose Yes, the nodes are closed and their MS-DOS windows disappear. Now, if you wish to start a new session, you must restart ScreamerNet on each CPU and re-initialize the CPUs from the host machine.

If you want to stop rendering before ScreamerNet is finished, press the Esc key to abort the session. A message will appear in the Screamer Init window saying, “Waiting for CPUs to finish rendering.” If the scene is complex or one of your nodes is slow, waiting could take a quite a while.

Hint: If you are impatient, there is no elegant way to force the nodes to quit in mid render. If you can’t wait, you can close LightWave by hitting Ctrl + Alt + Del, clicking the Task Manager button, highlighting LightWave and selecting End Task. Then, you can stop each node by closing its MS-DOS window. It’s brutal, but it works.

WARNING: If you close the MS-DOS window on any of the render nodes, you may have to restart all nodes and re-initialize them.

Batch Rendering on One Computer
Even if you only have one computer, ScreamerNet can be useful for rendering a series of scene files unattended. You simply set your computer as both the host and a node. You don’t need to network map your drive, but you will need to create a batch file to start the node. The rest of the procedure is the same. Of course, if you are using a dual-processor machine, each processor should be treated as a separate CPU for rendering.

Rendering Without LightWave
The LWSN program has a third option that lets you render a scene without running LightWave. There is no control machine and thus it is not a distributed rendering situation. You must tell the program specifically what to render. The method is run from a DOS prompt using the following syntax (one line):

LWSN -3 [-c<config dir>] [-d<content dir>] <scene file> <first frame> <last frame> [<frame step>]

As you can see, you supply the program with the basic information needed to render a scene. An example would be:

LWSN -3 -cS:\Lightwave\Config -dS:\Lightwave\Content oldmacdonald.lws 1 900 1

In the example, the program would render frames 1 through 900 of the oldmacdonald.lws scene using the config files stored in the S:\Lightwave\Config and using S:\Lightwave\Content as the Content Directory.

HINT: You can get the syntax for ScreamerNet by simply typing LWSN with no arguments.

 

 


Mac OS X Setup

Foreword

 LightWave’s LWSN (LightWave ScreamerNet) allows standalone, batch and network rendering across multiple platforms including Mac OS X.

Each section builds upon the knowledge learned in the previous sections, so for best results you should work your way through this entire tutorial from the beginning, rather than skipping right ahead to the network rendering sections.

LightWave’s Config Files are plain text files that store basic configuration information for LightWave and LWSN. It’s very important that you know where these config files are located so that both LightWave and LWSN can access them. It’s also important to understand which LWSN relevant settings are stored in the config file, and how to use them.

Updating LightWave’s Config Files

LightWave only updates the config file when you quit the program. Therefore anytime you make changes to any of the config settings you must be sure to quit LightWave to ensure that the changes are written to the config file itself. LWSN only reads the config file when first launched. Therefore, if you wish to make changes to the config file for LWSN and you are using a single config file for both Lightwave and LWSN, you should perform the following steps:

1.Quit LWSN.

2.Launch LightWave.

3.Make changes to the desired config settings in LightWave, as discussed later.

4.Quit LightWave to write the changes out to the config file.

5.Re launch LWSN so it reads the updated config file.

6.Re launch LightWave if you are using the built-in network controller to manage LWSN.

LightWave’s Config File Path on Mac OS X

On Mac OS X the default location of the config files is:

“YourHD:Users:username:Library:Preferences”

Replace YourHD with the name of your hard drive where your home directory is located and replace username with your user name.

NOTE: Specify all paths for LightWave using the Macintosh path separator “:” (colon), not the Unix separator “/” (forward slash) nor the DOS separator “\” (back slash).

Keep in mind that, by default, the config files are stored in the Library:Preferences folder that’s inside your home folder, not in the Library:Preferences folder at the top level your system hard drive.

The config files for LightWave 9 on Mac OS X are named as follows:

LightWave Extensions 9 Prefs : Complete list of file paths to all available plugins

LightWave Hub 9 Prefs : Basic Hub Settings

LightWave Layout 9 Prefs : Basic Layout Settings

LightWave Modeler 9 Prefs : Basic Modeler Settings

You don’t need to specify any of these config files by name, only the path to the directory where they are stored, and that’s only if you decide to keep your config files in a location other than the default. If you leave the config files in their default location, you do not need to specify their path for LightWave, Modeler, the Hub, or for LWSN. In this case each individual Mac OS X user would also have their own configs, since they would be stored in each user’s home folder.

You may wish to store your configs in different locations in some advanced situations, such as:

•When running different versions of LightWave on the same machine.

•When different users use the same Mac and you all wish to use a single set of configs.

•When running ScreamerNet over a network with a common set of configs for all nodes.

•When running ScreamerNet over a network and using separate configs for machines with varying resources, such as available RAM or number of processors.

Creating a New Set of Config Files

The following steps will show you how you can easily create a fresh new set of config files in a new location if desired.

1.Locate your LightWave installation, typically:

YourHD:Applications:LightWave9

2.Inside the LightWave9 directory, create a new directory named Configs.

3.Locate the LightWave cmdLine file, typically installed in: “YourHD:Applications:LightWave9:Programs”

4.Double click it, to open it in TextEdit.

5.Type the config parameter -c immediately followed by the full path to the new Configs directory, enclosed in quotes, as follows:

-c”YourHD:Applications:LightWave9:Configs”

NOTE: Do not put a space between the config parameter -c and the config path. Also make sure you type the parameter -c using a lowercase c.

6.Open TextEdit->Preferences, Saving and turn OFF: Append “.txt” to plain text files. If there is a “.txt” extension added to the end of the LightWave cmdLine file name, it unfortunately won’t be recognized by LightWave.

7.Save the LightWave cmdLine file.

8.Copy and paste the config parameter, -c”YourHD:Applications:LightWave9:Configs”, into the Modeler cmdLine file and the Hub cmdLine file and save each of those files as well.

9.Launch LightWave.

10.Open the Edit Plugins panel with Utilities->Plugins->Edit Plugins...

11.Click Scan Directory, & Choose: :Applications:LightWave9:Plugins

12.Close the Edit Plugins panel by clicking Done.

13.Quit LightWave, which will write out a new set of config files in the new Configs directory.

14.Launch & Quit Modeler so that Modeler creates its config file.

15.Quit the Hub so that it creates its config file.

If you run into various problems with LightWave and suspect corrupted config files, you can delete them and use the above steps #9-15 to recreate a fresh new set of config files in their current location.

 

Config Settings for LWSN

The following settings are stored in the LightWave Config file named: LightWave Layout 9 Prefs and are used by LWSN: Content Directory, Command Directory, Default Segment Memory, and Multithreading.

Content Directory

ContentDirectory YourHD:Applications:LightWave9:Content:

Along with a full compliment of paths to the Content Directory’s special subdirectories, such as :Images, :Objects, :Scenes, etc. If you wish to use LWSN successfully you must learn to properly use LightWave’s Content Directory structure to package your projects correctly.

A Content Directory in LightWave is very similar to a Web site’s root directory. When used properly, all necessary file paths are specified relative to the root directory, and all files are located in subdirectories of the root directory. This means the root directory is a self contained unit that may be moved as desired, including to other machines, without breaking all the dependent file/directory links.

In LightWave, the Content Directory itself may be named whatever you like, but there are some specific subdirectories that LightWave expects to find inside the Content Directory that you should not rename or move. These special subdirectories are named Images, Scenes & Objects. They are where you should store all your image, scene and object files respectively, for a project. You may name your files anything you wish (being sure to use proper file extensions), as long as you place them in the proper subdirectories.

Here’s an example of a very simple Content Directory:

The ContentDirectory entry is not actually written to the config file unless you specifically set a Content Directory in LightWave as follows.

1.Launch LightWave

2.Select: Edit->Set Content Directory...& Choose your desired Content Directory.

3.Quit LightWave, to save the config file.

Command Directory

CommandDirectory YourHD:Applications:LightWave9:Programs:

The Command Directory is the directory that contains the job command file and the acknowledgement file. These are two plain text files that the network controller uses to communicate with an instance of LWSN during batch or network rendering.

The communication goes like this:

1.The network controller creates a job file.

2.The network controller writes a command into the job file.

3.LWSN reads the command from the job file.

4.LWSN attempts to perform the command.

5.LWSN creates an acknowledgment file.

6.LWSN writes a reply to the acknowledgement file.

7.The controller reads the reply from the acknowledgement file to decide what’s next.

These files are named: job# and ack# where # is replaced with the number of the LWSN node to control. If only one instance of LWSN is being used these files would be named job1 and ack1. For a second instance of LWSN, they would be named job2 and ack2, etc. As in config and cmdLine files, no “.txt” extension is used. Also note that there is no leading zero, space or anything else between the number and the words job or ack.

LightWave defaults the Command Directory to the LightWave Programs Directory. LWSN on Mac OS X however uses the Content directory as the default Command Directory. This means it will not run as configured with the defaults, you must at least change one of these two settings.

Both the user running the network controller (typically LightWave or a third party controller) and the user running LWSN (if different) must have read/write access to the same Command Directory. Non-administrator users don’t typically have write access to the Applications directories on Mac OS X. Therefore,  it is suggested to use a shared Content Directory, with read/write access for all users, and keep everything relative to this shared Content Directory, including my Command Directory.

A typical Content Directory , with their own Commands directory may look  like this:

Here’s a step-by-step example of how to configure such a simple self contained Content Directory with its own Command Directory.

1.Launch LightWave.

2.Set LightWave’s Content Directory with: Edit->Set Content Directory to your desired Content directory.

3.Select: Render->Network Render

4.Click the Command Directory button.

5.Navigate to the same Content Directory you set in step 2.

6. Create a New Folder named Commands inside the Content Directory.

7. Click the Choose button to close the dialog and accept the changes.

8. If asked to initialize the ScreamerNet, click No.

9. Quit LightWave to save your changes to the config file.

10. When creating the LWSN cmdLine files (fully explained later) use the following Content relative command file paths, replacing # with the number of the LWSN node:

“:Commands:job#” “:Commands:ack#”

Default Segment Memory

DefaultSegmentMemory 32000000

This is the number of bytes to use for the rendered image segment memory. It defaults to 32 million bytes which is just under 32 Megabytes. This only affects the memory allocated for image buffers used in rendering the image itself, it doesn’t affect the amount of RAM used to load objects, textures etc. The number you set is the maximum upper limit. LightWave will only use as much RAM as it needs for the actual render buffers, up to this limit. If more memory is needed, LightWave will break the image up into as many segments as necessary so that each fits within the segment memory limit. In general you want this number set high enough for an entire frame to be rendered within one segment, as long as it fits comfortably within your machine’s physical RAM capacity, while still leaving enough physical RAM free for objects, textures etc.

This value is set in the Camera Properties panel (typically while a scene is open) but is stored in the Config file, only if you say yes when asked to use the changed value as a new default. It is never stored in the scene file, and is not stored anywhere if you click no when asked to use the changed value as a new default. In that case it will only affect a render in LightWave itself until you quit LightWave. The next time you launch LightWave the old value in the config file will be reinstated.

Here’s a simple step-by-step example of how to set the Default Segment Memory

1. Launch LightWave.

2. Open the Camera Properties panel.

3. Set the resolution to whatever you wish.

4. Notice the readout directly under the Segment Memory Limit button.

5. If it reads Segments:1 you don’t need to change it, otherwise continue on...

6. Click the Segment Memory Limit button.

7. The Segment Memory Limit dialog will open, filled with the current DefaultSegmentMemory value from the config file.

FUN FACT: This number is in millions of bytes, not megabytes. The rounded integer shown is simply multiplied by 1,000,000 when stored in the config file. A true Megabyte of RAM is actually 1024*1024 = 1,048,576 bytes.

8. Enter an integer that is equal to the old number multiplied by the number X that was displayed in the readout Segments:X from step 5. For instance, if the old value was 32, and the readout said: Segments:2, you could enter 64 into the field, to be sure to be able to render the entire frame in one segment.

9. Click the OK button.

10. You will now see a dialog that asks: “Should this value become the new default?” Yes/No. You must click the Yes button, or the new value will not be stored anywhere and will only persist during this session of LightWave until you quit LightWave.

11. The readout below the Segment Memory Limit button should now read: Segments:1

12. Quit LightWave to actually save the change to the config file.

You may also simply locate and edit the line DefaultSegmentMemory 32000000 in your config file directly in a text editor. Simply change the leading integer from 32 to whatever you desire (followed by six zeros) and save the config file. Make sure your text editor keeps the file as a plain text file and doesn’t add any file extension to the config’s filename.

Multithreading

RenderThreads 1

This is the number of concurrent threads (strings of commands) to execute during rendering. This setting is most often used on multiprocessor machines, but in some instances may even speed up single processor rendering. It’s best to run various tests on your particular scenes and machines to determine the best possible settings in your case. When setting render threads higher than 1, be sure to check test renders for any problems. Some plugins may not work properly with multiple threads, and may crash.

In general when using such a dual processor machine in a render farm, you’ll get the best results running two instances of LWSN, each using one thread. One thing to keep in mind though is that running two instances of LWSN means you’ll be using twice as much memory as a single instance. So if memory is an issue, such as when rendering high resolution images, you may actually get better results running one instance of LWSN set to two or more threads. That way both CPUs and all available memory can be used for a single image. Luckily you can stuff the dual processor Power Macintosh G5’s with up to 8GB of RAM which can enable you to render massive scenes.

Since the Multithreading setting is stored in the config file, and LightWave & LWSN run optimally with different render thread settings, it is often useful to configure LightWave and your LWSN nodes to use different config files. Otherwise, be sure to check/set the RenderThreads setting in LightWave (or directly in the config file with a text editor) prior to launching LWSN.

Here’s a step-by-step example of how to set the RenderThreads setting with LightWave:

1. Launch LightWave.

2. Open Render->Options->Render Options...

3. Click on the Rendering tab.

4. Set the Multithreading pop-up menu to 1, 2, 4 or 8 Threads, as desired.

5. Quit LightWave, to have LightWave write the change to the config file.

You may also simply locate and edit the line RenderThreads 1 in your config file directly in a text editor. Simply change the number to 1, 2, 4, or 8 as desired and save the config file. Make sure your text editor keeps the file as a plain text file and doesn’t add any file extension to the config’s filename, or it will not load into LightWave.

LightWave uses command line parameters which in Windows are specified in a DOS window or a shortcut icon. NewTek has added a simple mechanism for specifying command line parameters on the Macintosh as well. Plain text files called cmdLine files are used to store any command line parameters that you wish to pass to a LightWave application when it is launched. LightWave, Modeler, Hub and LWSN can all use their own cmdLine files.

cmdLine File Names

 cmdLine files are plain text files that are named exactly the same as their associated application (which must be one word), followed by a single space and the word “cmdLine”. They do not (and can not) have a file extension added (not even “.txt”), or they won’t work. The format is as follows:

SingleWordAppName SPACE cmdLine NO EXTENSION

The default names of major applications and cmdLine files (not all Programs files are shown) in the LightWave9:Programs folder are as seen in the example below left:

When setting up multiple instances of LWSN to use in batch or network rendering, you’d make multiple copies of the LWSN application and its associated cmdLine file and rename each pair to match, typically using an incrementing number as in the above right example.

Note: The icons for the cmdLine files may change to text document icons once you edit them.

These cmdLine files must be located in the same directory as the applications that they are associated with. Typically: “YourHD:Applications:LightWave9:Programs” where YourHD is replaced with the name of your hard drive that holds your applications.

General cmdLine Syntax

The command line syntax for the contents of a cmdLine file is as follows, all on one line with a space separating each parameter. Do not separate a parameter from its value with a space. All parameter letters must be in lowercase. Enclose all paths with double quotes, especially if the path contains spaces.

[-0] [-c<config directory>] [-p<plugin config dir>]

The following general command line parameters may be used in most of the cmdLine files:

Hub Switch

-0 : (dash zero) Disables the Hub

This parameter may be included in the LightWave and/or Modeler cmdLine files if you wish to disable the hub. If you are experiencing problems with LightWave and/or Modeler, try disabling the hub, which is often a source of problems on the Mac. Otherwise, launching either LightWave or Modeler will also launch the Hub.

Command Line Path Parameters

When specifying command line path parameters, the following rules of thumb will help avoid problems:

•Type the parameter, -c or -p, letter in lowercase.

•Do not put a space between the parameter letter and the path.

•Enclose all paths in double quotes, especially if the path contains any spaces.

•Avoid using spaces in file or folder names inside the content directory, use underscore.

•Prefix all relative paths with a leading colon. Such relative paths are relative to the Content Directory. For example: “:Scenes:MyScene.lws”

Config Path

-c : Optional: Path to the directory that contains the config file. The default is as follows:

-c”YourHD:Users:username:Library:Preferences”

If not specified, the config directory defaults to the current user’s preferences directory, which is normally as specified above, where YourHD should be replaced with the name of your hard drive that holds your home directory and username should be replaced with your user name. Therefore, if you leave your config files in their default location in your user preferences directory, you do not need to specify this option in your cmdLine files and each individual user could have their own configs. This parameter may be used in LightWave, Modeler, Hub and/or LWSN cmdLine files to specify a different directory for the config files.

Plugin Database Path

-p : Optional: Path to the directory that contains the plugin database file. Normally as follows:

-p”YourHD:Users:username:Library:Preferences”

If not specified, the config directory will be used. This parameter may be used in LightWave, Modeler, Hub and/or LWSN cmdLine files to specify a different directory for the plugin database file: LightWave Extensions 3 Prefs

General LWSN cmdLine Syntax

There are a few common command line parameters that are used to tell LWSN what to do. The following command line parameters may be used when running LWSN in any mode. Additional mode specific command line parameters will be discussed later.

You tell LWSN which mode to use, as well as what to render through the use of the LWSN cmdLine file. The general common LWSN cmdLine syntax is as follows, all on one line.

-<mode#> [-c<config directory>] [-d<content directory>] [-q]

Rendering Mode

-<mode#> : The mode number parameter specifies which rendering mode to use.

-2 : Signifies batch or network rendering mode which may render multiple scenes on multiple nodes.

-3 : Signifies standalone rendering mode which renders a single scene on a single node.

Config Path

-c : Optional: Path to the directory that contains the config file. Default is as follows:

-c”YourHD:Users:username:Library:Preferences”

This parameter is explained in more detail above under Command Line Path Parameters.

Content Path

-d : Optional: Path to the directory that contains your content. For example as follows:

-d”YourHD:Users:username:Documents:LWContent”

Where YourHD should be replaced with the name of your hard drive that holds your home directory and username should be replaced with your user name. This example would be to use a directory named LWContent in your Documents directory as your content directory. If this option is not specified, the content directory defaults to the content directory specified in the config file through LightWave. Therefore, if you set your content directory properly in LightWave itself, and you have LWSN on the same machine using the same config file as LightWave (which it does by default), you do not need to specify this option in the LWSN command line file, unless you wish to use a content directory that is different than the one currently set in LightWave. You would also need to specify this path if you were running LWSN on a different machine than you are running LightWave.

Please review Config Files: Content Directory, for important information about using LightWave’s content directory properly.

Quiet Mode

-q : Optional: Suppresses terminal output during frame rendering, still reports as each frame finishes.

Normally while LWSN is busy rendering it outputs quite a bit of text information to the terminal interface. This can be useful for monitoring progress and problems such as missing plugins, etc. Once everything is up and running however, all this text writing to the terminal may be unnecessary and may slightly slow down the rendering. The -q parameter turns off all the output during the rendering of an individual frame. You’ll still get text output between frames, but not during frame rendering. This may slightly speed up rendering but will also make LWSN less responsive to user input, such as if you wish to save the log or quit LWSN.

Here’s what the output for one frame looks like normally, without the -q parameter:

LightWave PowerMac ScreamerNet Module (Build 690)

CPU number: 774

Current directory is now “HD:Samples:Content:”.

Loading “:Scenes:Toys:ToysTest.lws”.

Clearing scene

Loading settings

Loading “Objects/Toys/Ball.lwo”

Loading “Objects/Toys/Blocks.lwo”

Loading “Objects/Toys/Floor.lwo”

Validating scene

Scene loaded.

Allocating frame buffers.

Allocating segment buffers.

Updating geometry.

Moving Ball.

Moving Blocks.

Moving Floor.

Optimizing Ball.

Optimizing Blocks.

Optimizing Floor.

Computing shadow map for Light.

Transforming coordinates.

Removing hidden polygons.

Computing polygon distances.

Sorting polygons.

Rendering frame 1, segment 1/1, pass 1/5.

Rendering transparent polygons.

Integrating pixels.

Rendering frame 1, segment 1/1, pass 2/5.

Rendering transparent polygons.

Integrating pixels.

Rendering frame 1, segment 1/1, pass 3/5.

Rendering transparent polygons.

Integrating pixels.

Rendering frame 1, segment 1/1, pass 4/5.

Rendering transparent polygons.

Integrating pixels.

Rendering frame 1, segment 1/1, pass 5/5.

Rendering transparent polygons.

Integrating pixels.

Freeing segment buffers.

Allocating filter buffer.

Applying soft filter.

Freeing filter buffer.

Allocating segment buffers.

Writing RGB image to HD:Content:Images:TESTS:Toys0001.tga.

Frame completed.

Last Frame Rendered: 1.

Rendering Time: 0.0 seconds.

Freeing segment buffers.

Freeing frame buffers.

Here’s what the output looks like with the -q parameter included:

LightWave PowerMac ScreamerNet Module (Build 690)

CPU number: 774

Current directory is now “HD:Samples:Content:”.

Loading “:Scenes:Toys:ToysTest.lws”.

Scene loaded.

Last Frame Rendered: 1.

 

LWSN Mac Standalone Mode (-3) cmdLine Syntax

The LWSN standalone mode (-3) specific cmdLine syntax is as follows, all on one line.

-3 [-c<config directory>] [-d<content directory>] [-q] <scene file> <first frame> <last frame> [<frame step>]

The first four cmdLine parameters are fully explained above under General LWSN cmdLine Syntax.

Scene File Path

<scene file>: Path to the scene file. May be a full or a relative path, enclosed in quotes.

Full paths specify the entire path from the hard drive down to the scene file, such as:

“YourHD:Users:username:Documents:LWContent:Scenes:MyScene.lws”

Relative paths are relative to the current Content directory specified in the command line itself, or from within LightWave’s config file. Relative paths must start with a leading colon such as:

“:Scenes:MyScene.lws”

Frames to Render

<first frame>: First frame to render, may be higher than last frame if step is negative.

<last frame>: Last frame to render, may be lower than first frame if step is negative.

[<frame step>]: Optional: defaults to 1, may be positive or negative.

This specifies which frames to render between the first and last frame. When set to 1, LWSN would render every frame from the first frame, up to the last frame. When set to 2, LWSN would render every other frame from the first frame up to the last frame. If set to -1, LWSN would render every frame from the first frame, down to the last frame and in this case the first frame should be higher than the last frame to render in reverse order.

LWSN Mac Batch Mode (-2) cmdLine Syntax

The LWSN batch & network mode (-2) specific cmdLine syntax is as follows, all on one line.

-2 [-c<config directory>] [-d<content directory>] [-q] [-t<check interval>] <job command file> <acknowledgment file>

The first four cmdLine parameters are fully explained above under General LWSN cmdLine Syntax.

Time Check Interval

-t : Optional: Time check interval in seconds. For instance as follows:

-t60

This would have LWSN attempt to check the job file every 60 seconds during rendering for status or abort commands. Other commands are ignored.

Normally, once LWSN begins rendering a frame, it does not check the job file for any further instructions until the frame finishes rendering. During the initial setup and testing of your render farm or when testing a new scene, it may be useful to allow LWSN to check the job file for abort commands. Particularly if individual frames take a long time to render. This way, if you notice a problem right off the bat (a missing plugin for instance), you can abort the rendering without having to wait for all your LWSN nodes to finish rendering an entire frame each or force quitting each node.

For instance, if your frames use ray tracing, area lights, radiosity, caustics, high antialiasing levels, motion blur and/or depth of field, they may take a long time to render. In this case you could set -t to 60 seconds, then LWSN would try to check the job file every 60 seconds to see if the job should be aborted or not. During certain processing, LWSN may take longer than 60 seconds before it can check, but it doesn’t have to wait for an entire frame to render before being able to stop. Once you are sure everything is running smoothly, it is best to remove this option, so that no extra time is taken checking the job file unnecessarily, especially if you are network rendering many frames.

 

Job Command File

<job command file> : job# File & node number for LWSN to read commands, such as:

“job1” or “:job1” Reads the job1 file in the top level of the Content directory.

“:Commands:job1” Reads the job1 file in a Commands directory in the Content directory.

“YourHD:Applications:LightWave9:Programs:job1”

Reads the job1 file in the Programs directory in the LightWave 9 directory, where YourHD should be replaced with the name of your hard drive where your applications are stored.

Make sure that both your job# and ack# both use the same number. This number is what actually determines the CPU number of the LWSN node, not any number that you may also be using in the LWSN and cmdLine file names. Though to keep things from getting confusing I suggest using similar numbers for the LWSN and cmdLine names as well as for the job# and ack# in the cmdLine file itself.

For example:

Application name: LWSN-1

cmdLine Name: LWSN-1 cmdLine

cmdLine Contents: -2 “job1” “ack1”

For additional information please review Config Files: Command Directory.

Acknowledgement File

<acknowledgement file> : ack# File & node number for LWSN to write replies, such as:

“ack1” or “:ack1” Writes the ack1 file in the top level of the Content directory.

“:Commands:ack1” Writes the ack1 file in a Commands directory in the Content directory.

“YourHD:Applications:LightWave9:Programs:ack1”

Writes the ack1 file in the Programs directory in the LightWave 9 directory, where YourHD should be replaced with the name of your hard drive where your applications are stored.

For additional information please review Config Files: Command Directory above.

LWSN Mac Command Line Dialog Interface

In addition to running LWSN with a cmdLine file, you can also run it using the default command line dialog interface. If you launch LWSN without a cmdLine file, it will open an input dialog which allows you to type in the command line arguments.

Unfortunately, in LW9 on Mac OS X you can’t paste any text into the dialog the way you used to be able to on Mac OS 9. The only real benefit of using this cmdLine dialog, rather than a cmdLine file, is that you can direct LWSN to write its output log to a file, rather than a console window. This can come in handy when trying to troubleshoot your render farm.

To use the command line dialog simply follow these steps.

1. Move or rename the LWSN cmdLine file, so that LWSN won’t find it.

2. Launch LWSN which will open the command line dialog.

3. Type in your command line parameters, just like in a cmdLine file.

4. Click on LWSN.out and select a save location when prompted.

To successfully render a scene using LWSN you must first prepare the scene correctly, before submitting it to be rendered. The first thing to verify is that your scene files are properly structured in a self contained Content Directory as explained previously.

-Setting a Scene’s Render Options

-Frame Range to Render

-Render Output Destination

-LWSN Spreadsheet BUG

Setting a Scene’s Render Options

Once your scene is properly structured in a self contained Content Directory, you need to open it in LightWave to set a number of render settings.

Frame Range to Render

When rendering scenes with LightWave or with LWSN in batch or network mode (-2), you must set the range of frames to render directly within the scene itself. When rendering scenes with LWSN in standalone mode (-3) or when using a third party network controller you may override the scene’s render range setting at the time of rendering.

Follow these steps to set the frame range to render for a scene:

1. Launch LightWave.

2. Load the desired scene with: Load->Scene

3. Open the Render Options panel with: Render->Options->Render Options

4. Set the following fields:

o Render First Frame: The first frame to render.

o Render Last Frame: The last frame to render.

o Render Frame Step: Frame increment to render.

For example:

1 renders every frame starting with the first frame, up to the last frame.

2 renders every other frame starting with the first frame, up to the last frame.

5 renders every fifth frame from the first frame to the last frame.

-1 renders every frame in reverse order, from the first frame down to the last frame, in this case the first frame would be set higher than the last frame.

5. Save the scene file.

Render Output Destination

You must set the scene’s render output destination within the scene file itself, or none of the rendered frames will be saved anywhere. You must set the render output prefix file name, file format and destination path in the scene file itself within LightWave, before rendering the scene with LWSN.

LWSN only renders individual frames, it does not render animations in formats such as QuickTime. Instead, you render your animations to still frames and then use QuickTime Player, After Effects, Final Cut Pro or another program to load the image sequence, and save it as a QuickTime movie.

Follow these steps to set the render output settings for a scene:

1. Launch LightWave.

2. Load the desired scene with: Load->Scene

3. Open the Render Options panel with: Render->Options->Render Options

4. Click the Output Files tab.

5. Locate the Save RGB section of the Output Files area.

6. Click the RGB Files button.

7. Type a file name prefix in the Save As field of the RGB Prefix file dialog. This can be any name you wish. LightWave will add a frame number and file extension to each rendered image file. In this example we’ll use the word RenderFileName as the RGB prefix.

8. Navigate to the directory you wish to use to save the rendered frames.

LightWave defaults to use the Images directory inside the Content directory.

It’s usually a good idea to make a new folder inside the images folder to keep all the separate rendered frames for a single scene together. Then use this new folder as the output destination directory.

NOTE: All users running LWSN must have read/right access to this output directory.

9. Click the Save button to dismiss the RGB Prefix dialog and accept the changes.

10. Set the RGB Type pop-up field to any desired file type, such as LW_TGA32(.tga)

11. Set the Output Filename Format to any naming format you wish. This tells LWSN how to name each frame image. The names are built from the RGB Prefix you typed followed by a frame number and optional filename extension. In this example we’ll use Name_001.xxx.

12. You should now see RenderFileName_001.tga, ... in the readout field next to the RGB Files button. This is how the rendered image files will be named inside the output directory.

13. Save the scene file.

Standalone Mode

LWSN may be used in standalone mode (-3) to render scenes independent of LightWave itself. This method may be used to render a scene in the background while you work on another scene in LightWave, which is especially useful on dual processor machines. It may also be used to render a scene on another machine that doesn’t have LightWave installed, as long as you can access the LightWave machine with your configs, programs and content over your network via file sharing, or copy the files all to the other machine before rendering.

LWSN Mac Standalone Mode (-3) cmdLine Syntax

You tell LWSN which mode to use, as well as what to render through the use of the LWSN cmdLine file. The LWSN standalone mode (-3) cmdLine syntax is as follows, all on one line.

-3 [-c<config directory>] [-d<content directory>] [-q] <scene file> <first frame> <last frame> [<frame step>]

For an in-depth discussion of LightWave’s cmdLine files, complete with an explanation of each command line parameter, please review Mastering LightWave’s Mac OS X cmdLine Files.

LWSN Mac Standalone Command Line Examples

The following command line examples must be typed all on one line.

-3 “:Scenes:MyScene.lws” 1 1

Uses the default config file in “YourHD:Users:username:Library:Preferences”

Uses the content directory specified in the config file, set in LightWave before launching LWSN.

Renders the file MyScene.lws in the Scenes directory inside the content directory.

Renders from frame 1 to frame 1. Renders only 1 frame.

-3 -c”YourHD:Users:username:Library:Preferences” “:Scenes:MyScene.lws” 1 10

Uses the config file in “YourHD:Users:username:Library:Preferences”

Uses the content directory specified in the config file, set in LightWave before launching LWSN.

Renders the file MyScene.lws in the Scenes directory inside the content directory.

Renders every frame (since no step was specified), from frame 1 to 10. Renders 10 frames.

-3 -c”YourHD:Users:username:Library:Preferences” -d”YourHD:Users:username:Documents:LWContent” “:MyScene.lws” 1 10 2

Uses the config file in “YourHD:Users:username:Library:Preferences”

Uses the content directory “YourHD:Users:username:Documents:LWContent”

Renders the file MyScene.lws inside the content directory.

Renders every other frame (step 2), from frame 1 to 10. Renders 5 frames, 1, 3, 5, 7 & 9.

-3 -c”YourHD:Users:username:Library:Preferences” -d”YourHD:Users:username:Documents:LWContent” “YourHD:Users:username:Documents:LWContent:MyScene.lws” 10 1 -1

Uses the config file in “YourHD:Users:username:Library:Preferences”

Uses the content directory “YourHD:Users:username:Documents:LWContent”

Renders the file “YourHD:Users:username:Documents:LWContent:MyScene.lws”

Renders every frame in reverse order (step -1), from frame 10 down to 1. Renders 10 frames.

10, 9, 8, 7, 6, 5, 4, 3, 2, 1

Step-by-step LWSN Standalone Rendering Example

Here’s a step-by-step example of how to render one of the included LightWave sample scenes using LWSN in standalone mode (-3) on the Macintosh.

Setting up the Config File

In this example we are using the default Mac OS X config location of: “YourHD:Users:username:Library:Preferences”

1. Launch LightWave.

2. Set the Content Directory with Edit->Set Content Directory...

“YourHD:Applications:LightWave9:Content:Classic Content”

This assumes you are running Mac OS X as an administrator with write access to the content directory inside the Applications directory. Otherwise copy the Classic Content directory to your home Documents directory and set the content directory in LightWave to: “YourHD:Users:username:Documents:Classic Content”

3. Open Render->Options->Render Options and set Multithreading to 1 Thread.

4. Open the Camera Properties panel and set the Segment Memory Limit to 32.

5. Click the yes button when asked if this should be the new default setting.

6. Quit LightWave to save the config file.

Setting up the LWSN cmdLine File.

1. Open the LWSN cmdLine file located as follows:

“YourHD:Applications:LightWave9:Programs:LWSN cmdLine”

2. Edit its contents to read:

-3 “:Scenes:Characters:DancingTeapot.lws” 1 5

3. Save the cmdLine file, making sure no file extension is added to the filename.

Setting up the Scene for Rendering

1. Launch LightWave.

2. Use Items->Load->Scene to load: “:Scenes:Characters:DancingTeapot.lws”

3. Open Render->Options->Render Options

4. Click the Output Files tab.

5. Click the RGB Files button.

6. Type DancingTeapot in the Save As: field.

7. Navigate to the Images directory inside the Content Directory.

8. Create a New Folder named DancingTeapotRenders.

9. Click the Save button to dismiss the dialog and accept the changes.

10. Set the RGB Type pop-up menu to LW_TGA24(.tga)

11. The RGB readout should now read DancingTeapot0001.tga, ...

12. Save the scene.

13. Quit LightWave.

Rendering the Scene with LWSN

1. Launch LWSN

2. LWSN should now render frames 1 through 5 of DancingTeapot.lws and place them in the Classic Content:Images:DancingTeapotRenders folder.

Batch Rendering

Batch rendering enables you to queue up and render multiple scenes all at once, unattended. Batch rendering is similar to network rendering except the same machine is used as both the host and the rendering node, without a network. In the case of multiprocessor Macs, you can run multiple copies of LWSN on the same machine, one for each available processor.

LWSN Mac Batch Mode (-2) mdLine Syntax

You tell LWSN which mode and settings to use, through the use of the LWSN cmdLine file. The LWSN batch & network mode (-2) cmdLine syntax is as follows, all on one line.

-2 [-c<config directory>] [-d<content directory>] [-q] [-t<check interval>] <job command file> <acknowledgment file>

For an in-depth discussion of LightWave’s cmdLine files, complete with an explanation of each command line parameter, please review Mastering LightWave’s Mac OS X cmdLine Files.

 LWSN Mac Batch Command Line Examples

On dual processor Macs you may run multiple instances of LWSN, one for each CPU. To run more than one copy of LWSN you need to duplicate the LWSN application and give each a unique name such as: LWSN-1 and LWSN-2. You would then create matching command line files named: LWSN-1 cmdLine and LWSN-2 cmdLine. Both of these command line files would contain an identical command line except the LWSN-1 version would reference job1 & ack1 and the LWSN-2 version would reference job2 & ack2. It’s the job & ack numbers inside the command line file that actually tell LWSN and the Network Rendering panel which CPU node is which. It’s useful to use the same numbers in the file names as well, to help you identify which running LWSN node is which.

The following command line examples must be typed all on one line.

-2 “:job1” “:ack1”

Uses the default config location of: “YourHD:Users:username:Library:Preferences”

Uses the Content directory specified in the config file, set in LightWave before launching LWSN.

Uses the job1 and ack1 files inside the top level of the Content directory.

This instance of LWSN would be designated CPU node 1.

-2 -c”YourHD:Applications:LightWave9:Configs” “:job1” “:ack1”

Uses a config file in “YourHD:Applications:LightWave9:Configs”

Uses the content directory specified in the config file, set in LightWave before launching LWSN.

Uses the job1 and ack1 files inside the top level of the Content directory.

This instance of LWSN would be designated CPU node 1.

-2 -c”YourHD:Applications:LightWave9:Configs” -d”YourHD:Users:username:Documents:LWContent” “:job1” “:ack1”

Uses a config file in “YourHD:Applications:LightWave9:Configs”

Uses the content directory “YourHD:Users:username:Documents:LWContent”

Uses the job1 and ack1 files inside the top level of the Content directory.

This instance of LWSN would be designated CPU node 1.

-2 -c”YourHD:Applications:LightWave9:Configs” -d”YourHD:Users:username:Documents:LWContent” “:Commands:job2” “:Commands:ack2”

Uses a config file in “YourHD:Applications:LightWave9:Configs”

Uses the content directory “YourHD:Users:username:Documents:LWContent”

Uses the job2 and ack2 files inside a Commands directory inside the Content directory.

This instance of LWSN would be designated CPU node 2.

LightWave’s Built-in Network Render Controller

LightWave comes with a very basic Network Rendering control panel that enables you to perform basic batch and network rendering. It is sufficient for occasional use, but if you intend to do heavy duty network rendering in a production environment, you’ll find the investment in a third party network controller well worthwhile. We use RenderFarm Commander and ScreamerNet Controller for Mac OS X to run our in-house DreamLight render farm and will cover their use later when discussing advanced network rendering.

The built-in controller is sufficient for simple batch rendering. It’s also useful to use when troubleshooting a third party controller. If you’re having trouble using a third party controller, you can try a render test with the built-in controller to make sure your LWSN render farm is set up properly. I’ll cover the built-in network controller’s use here and use it for the batch rendering example to follow.

Running the Network Rendering Control Panel

The Network Rendering control panel is opened in LightWave 9 by selecting:

Render->Utilities->Network Render.

When the Network Rendering panel is open and rendering, LightWave can’t be used to do anything else, which tends to defeat the purpose of performing a batch or network render in the first place... A trick you can use to get around this limitation is to make a duplicate copy of LightWave and rename it LightWave-SN. Then you can use the copy called LightWave-SN to control your batch rendering and still launch the original LightWave to work on something else while the batch render continues. When doing this you should also make a LightWave-SN cmdLine file which contains at least the -0 (dash zero) switch to disable the Hub. That way you won’t have two copies of LightWave both trying to synchronize things through the Hub, which could cause problems.

Render Node Controls

Command Directory: The directory where the LWSN job# & ack# communication files will be stored. The Network Rendering controller doesn’t actually contact the LWSN nodes themselves, it simply creates job# files with simple commands in them. LWSN nodes constantly poll for their job files and execute the commands they find. They then write a reply into an associated ack# file which the Network Rendering controller continuously polls to monitor the nodes.

Maximum CPU Number: The number of LWSN nodes to attempt to control.

Screamer Init: Initializes all the currently running LWSN nodes.

ScreamerNet Status: The text field to the right of the Screamer Init button shows the current ScreamerNet status.

CPU list: Lists all the currently running LWSN render nodes.

Screamer Render: Starts the LWSN nodes rendering the first scene.

Cancel Render (Escape Key): Stops the Network Rendering controller from issuing new render commands. With LightWave 9, it will attempt to interrupt renderings in progress so the user does not have to wait till each node finishes rendering a complete frame first. You may only cancel a render when the ScreamerNet status reads “Waiting for CPUs to finish rendering.” If you need to cancel a render during any other time, for instance during a crashed LWSN scene load, you’ll unfortunately have to force quit LightWave with Command-Option-Esc. Then quit all remaining LWSN nodes. You may then start everything back up again and try again... Third party render controllers are not as limited.

Screamer Shutdown: Quits all LWSN nodes, when they finish rendering their current frames. To quit a LWSN node before it finishes rendering a frame, bring it to the foreground and press command-period. If you try to quit LWSN 7.5 using the menu LWSN->Quit or by typing command-q, it will crash. This bug has been fixed in LWSN 9.0.

Scene List Controls

The scene list in the Network Rendering panel can not be modified while anything is currently rendering. This is the single greatest limitation of the built-in controller. You must stop any renders in progress before you can add or remove scenes from the list, which seriously cripples the built-in controller’s usefulness. To stop renders in progress you press Cancel Render or the Escape key.

Clear List: Clears all scenes from the scene list.

Add Scene to List: Adds a scene to the end of the scene list.

Remove Scene: Removes the scene located at the top of the list display. To delete a specific scene, drag the scroll bar until the scene you wish to delete is located at the top of the list display. Then press the Remove Scene button.

Before adding a scene to the scene list you must make sure it is properly set up as explained previously. You cannot modify the frames to render, the output destination or even the order of the list. Now you can probably see why I say the built-in controller is rather limited for a production environment...

 

Step-by-step LWSN Batch Rendering Example

Here’s a step-by-step example of how to render a batch of included LightWave sample scenes using LWSN in batch / network mode (-2) on the Macintosh. This example uses two LWSN instances running on a dual processor Power Macintosh G5. On a single processor machine, or if you wish to batch render on one processor while continuing to work on the other, simply run one instance of LWSN.

Setting up the Config File

In this example we are using the default Mac OS X config location of: “YourHD:Users:username:Library:Preferences”

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

1. Launch LightWave.

2. Set the Content Directory with Edit->Set Content Directory...

“YourHD:Applications:LightWave9:Content:Classic Content”

This assumes you are running Mac OS X as an administrator with write access to the content directory inside the Applications directory. Otherwise copy the Classic Content directory to your home Documents directory and set the content directory in LightWave to: “YourHD:Users:username:Documents:Classic Content”

See Content Directory for more information.

3. Open the Render->Utilities->Network Render panel.

4. Click the Command Directory button.

5. Navigate to the same Classic Content directory you set in step #2.

6. Click New Folder to create a new folder in the Content directory and name it Commands.

7. While inside the Commands folder, click the Choose button to close the dialog and accept the new command directory.

8. When asked to initialize ScreamerNet, click No.

9. Set the Maximum CPU Number to 2.

10. Open Render->Options->Render Options and set Multithreading to 1 Thread.

See Multithreading for more information.

11. Open the Camera Properties panel and set the Segment Memory Limit to 32.

See Default Segment Memory for more information.

12. Click the yes button when asked if this should be the new default setting.

13. Quit LightWave to save the config file.

Setting up the LWSN Nodes and cmdLine Files

For more information see Mac OS cmdLine Files.

1. Open the directory “YourHD:Applications:LightWave9:Programs” and locate the LWSN application.

2. Make two copies of LWSN and name them LWSN-01 and LWSN-02, with no file extension.

3. Make one copy of the file LWSN cmdLine and name it LWSN-01 cmdLine, with no file extension.

4. Edit the LWSN-01 cmdLine file’s contents to read:

-2 “:Commands:job1” “:Commands:ack1”

5. Save the cmdLine file, making sure no file extension is added to the filename.

6. Duplicate the LWSN-01 cmdLine file and name it LWSN-02 cmdLine.

7. Edit the LWSN-02 cmdLine file’s contents to read:

-2 “:Commands:job2” “:Commands:ack2”

8. Save the cmdLine file, making sure no file extension is added to the filename.

Launching the LWSN Nodes

1. Launch LWSN-01.

2. It should identify itself as CPU number: 1 in the console.

3. Launch LWSN-02, launch them one at a time or you may get an error.

4. It should identify itself as CPU number: 2 in the console.

5. They may say Can’t open job file “:Commands:job#”, this is normal until LightWave creates the job files.

Setting up the Scenes for Batch Rendering

For more information see Successful Scene File Preparation for LWSN.

1. Launch LightWave.

2. Use Items->Load->Scene to load: “:Scenes:Aviation:MustangLowRes.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

Render First Frame: 1

Render Last Frame: 60

Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5. Type MustangLowRes in the Save As: field.

6. Navigate up one level out of the Images directory to the Content Directory.

7. Create a New Folder named Renders, or navigate into it if you already have one.

8. Create a New Folder inside Renders, named MustangLowRes.

9. Click the Save button to dismiss the dialog and accept the changes.

10. Set the RGB Type pop-up menu to LW_TGA24(.tga)

11. The RGB readout should now read MustangLowRes0001.tga, ...

12. Save the scene.

3. Use Items->Load->Scene to load: “:Scenes:Aviation:RC_Helicopter.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

 Render First Frame: 1

 Render Last Frame: 60

 Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5. Type RC_Helicopter in the Save As: field.

6. Navigate to the Render folder you already created inside the Content Directory.

7. Create a New Folder inside Renders, named RC_Helicopter.

8. Click the Save button to dismiss the dialog and accept the changes.

9. Set the RGB Type pop-up menu to LW_TGA24(.tga)

10. The RGB readout should now read RC_Helicopter0001.tga, ...

11. Save the scene.

4. Quit LightWave.

Rendering the Batch with LightWave’s Built-in Controller

For more information see Using LightWave’s Built-in Network Rendering Controller.

1. Launch LightWave.

2. Open the Render->Utilities->Network Render panel.

3. Set the Maximum CPU Number to 2.

4. Click the Screamer Init button.

5. Click OK when the dialog appears stating: 2 available ScreamerNet CPUs were detected. You should now see both LWSN nodes repeatedly writing LightWave command: wait. and sendack: Ready to the console. You’ll also see two CPU’s listed in the Network Rendering panel with a status of Ready.

6. Click the Add Scene to List button and add the scene: “:Scenes:Aviation:MustangLowRes.lws”

7. Click the Add Scene to List button again and add the scene: “:Scenes:Aviation:RC_Helicopter.lws”

8. Hit the Screamer Render button and the LWSN nodes will begin rendering frames.

9. As each frame is finished, it will be written to the output directory that was set in each scene. “:Renders:MustangLowRes” & “:Renders:RC_Helicopter”

10. If you wish to stop the rendering before it is finished, press the Escape key while the Network Rendering panel is in the foreground, then hit the Screamer Shutdown button. This will stop rendering new frames and will quit the LWSN nodes once they finish rendering their current frame. If a LWSN node crashes during loading a scene, the Network Rendering panel will remain waiting for the scene to load and will never recover. In such an instance you must force Quit LightWave with Command-Option-Esc. To quit a LWSN node before it finishes rendering a frame, bring it to the foreground and press command-period.

Basic network rendering with LWSN enables you to harness your entire network of powerful Macintosh computers to render your LightWave scenes much faster than would be possible on a single machine. Network rendering with LWSN is almost exactly the same as batch rendering, described previously, which you should review before proceeding with the following network tutorial. The only difference between network and batch rendering is that some of the LWSN nodes run on additional Macs on your network, rather than on a single machine.

• Setting up the Mac OS X Network for Rendering

oPreparing the Hard Drives for Basic Network Rendering

oSharing the Host Machine on the Network

oMounting the Host Machine from the Render Machines

•Step-by-step LWSN Mac Basic Network Rendering Example

oSetting up the Host Config File

oSetting up the LWSN Nodes and cmdLine Files

oLaunching the LWSN Nodes on the Remote Rendering Machines

oSetting up the Scenes for Batch/Network Rendering

oRendering the Network Batch with LightWave’s Built-in Controller

Setting up the Mac OS X Network for Rendering

In order to perform network rendering, you’ll obviously need a functioning network. This tutorial assumes that you have at least a basic peer-to-peer Mac OS X network already up and running which allows you to connect from one Mac to another to share files. You don’t need Mac OS X Server, any version of Mac OS X is capable of peer-to-peer networking. If you don’t already have a physical network, you’ll first need to set one up. You can find information about setting up a Mac OS X network with this Google search.

This tutorial was written using Mac OS X.3.3 running on a 100 bps Ethernet network and LightWave 8. Other versions of Mac OS X and/or LightWave may be slightly different, but the basic concepts will remain the same...

There was a bug in Mac OS X.2.6 that sometimes prevented more than four LWSN instances from sharing the same dynamic loading libraries and/or plug-ins successfully over the network. The symptoms were that the fifth and higher LWSN nodes sometimes crashed on launch (warning about missing various libraries that were really there), or crashed when loading a scene. This bug appears to be partially fixed in Mac OS X.2.8, though I have still seen nodes higher than four sometimes crash on loading scenes, fail to save frames and fail to load textures. This bug appears to have been fixed in Mac OS X.3.3. However, for best results with more than four LWSN nodes, I still prefer to install separate copies of LWSN, shared libraries and all plug-ins on each remote rendering machine as outlined later in Advanced Network Rendering with LWSN Mac.

Preparing the Hard Drives for Basic Network Rendering

The simplest way to set up network rendering on Mac OS X entails logging into the host machine (the Mac with the LightWave applications and possibly the Content Directory) as the same administrative user from each remote network machine. Then running the LWSN nodes on the remote rendering machines, from the host machine across the network. This way there is only one set of configs, programs, shared libraries and plug-ins. As the host machine’s administrator you then have full read/write access to everything you need on the host machine. You’ll be logging into the host machine from each remote rendering machine and mounting the host machine’s main hard drive on the desktop of each render machine. This means that all your hard drives must have unique names, or LightWave won’t know which hard drive to access, the local drive or the remote drive.

Therefore, the first step to set up your network for rendering is to simply give a unique name to each hard drive on each machine you wish to use as either a host or render machine. If they don’t already have unique names that is. For example you could name the main hard drives for each machine as follows: HostHD, Render01HD, Render02HD, Render03HD or anything else that keeps each hard drive name unique.

Sharing the Host Machine on the Network

The next step in setting up your network rendering is to make sure the host machine, which contains your LightWave applications and Content Directory, is available on the network for the other remote rendering machines to log into.

Simply follow these steps to verify that your host machine is available:

1. Launch System Preferences from the Apple menu or the Dock.

2. Click the Sharing icon under Internet & Networking.

3. Click the Services tab.

4. Select Personal File Sharing and click the Start button, if it’s not already on.

5. Click the Firewall tab and click Start if the firewall was not already on. This helps secure your Mac.

6. In some cases, such as if you’re running any older Mac OS 9 systems as render nodes (with LWSN 7.5), it may also be necessary to activate AppleTalk.

1. Click the Network icon at the top or under Internet & Networking.

2. Select Built-in Ethernet on the Show: pop-up menu.

3. Click the AppleTalk tab.

4. Turn on the Make AppleTalk Active checkmark.

Mounting the Host Machine from the Render Machines

Now you need to mount the host machine’s main hard drive onto the desktop of each of the remote render machines. Simply follow these steps on each remote rendering machine:

1. In any Finder window, click the Network icon.

2. Locate and select the host machine on the network, it may show up directly or you may need to open a subgroup depending upon how your network is configured.

3. Once the host machine is selected, click the Connect button.

4. When the log-in screen appears click the Registered User button. Guest access won’t work in this instance since you wouldn’t have sufficient read/write privileges.

5. Enter the username and password of the main administrative user of the host machine, not necessarily the remote rendering machine, unless they are the same. You must log into the host as the host administrator to mount the host machine’s main hard drive. Click the Connect button when ready.

6. You’ll now get a dialog box showing all available home directories as well as all hard drives connected to the host computer. Select the main hard drive of the host computer where your LightWave applications and Content Directory are located. Click OK and the hard drive will be mounted on the desktop of the remote rendering node.

Step-by-step LWSN Mac Basic Network

Rendering Example

Here’s a step-by-step example of how to perform basic network rendering of included LightWave sample scenes using LWSN in network render mode (-2) on the Macintosh with the built-in Network Rendering controller. This example uses four LWSN instances running on two Dual Processor Power Macintosh G4’s. One instance of LWSN is run for each available CPU. A third Power Macintosh host machine is left free to handle the network controller. For best results with more than four LWSN nodes, I prefer to use the Advanced Network Rendering with LWSN Mac setup.

Setting up the Host Config File

In this example we are using the default Mac OS X config location of: “HostHD:Users:adminUserName:Library:Preferences”

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

1. Launch LightWave.

2. Set the Content Directory with Edit->Set Content Directory...

“HostHD:Applications:LightWave9:Content:Classic Content”

This assumes you are running Mac OS X as an administrator with write access to the content directory inside the Applications directory. Otherwise copy the Classic Content directory to your home Documents directory and set the content directory in LightWave to: “HostHD:Users:adminUserName:Documents:Classic Content”

See Content Directory for more information.

3. Open the Render->Utilities->Network Render panel.

4. Click the Command Directory button.

See Command Directory for more information.

5. Navigate to the same Classic Content directory you set in step #2.

6. Click New Folder to create a new folder in the Content directory and name it Commands.

7. While inside the Commands folder, click the Choose button to close the dialog and accept the new command directory.

8. When asked to initialize ScreamerNet, click No.

9. Set the Maximum CPU Number to 4.

10. Open Render->Options->Render Options and set Multithreading to 1 Thread.

See Multithreading for more information.

11. Open the Camera Properties panel and set the Segment Memory Limit to 32.

See Default Segment Memory for more information.

12. Click the yes button when asked if this should be the new default setting.

13. Quit LightWave to save the config file.

Setting up the LWSN Nodes and cmdLine Files

For more information see Mastering LightWave’s Mac OS cmdLine Files.

1. Open the directory “HostHD:Applications:LightWave9:Programs” and locate the LWSN application.

2. Make four copies of LWSN and name them LWSN-01 through LWSN-04, with no file extension.

3. Make one copy of the file LWSN cmdLine and name it LWSN-01 cmdLine, with no file extension.

4. Edit the LWSN-01 cmdLine file’s contents to read, all on one line:

-2 -c”HostHD:Users:adminUserName:Library:Preferences” “:Commands:job1” “:Commands:ack1”

Note: you need to specify the path to the config directory on the Host machine, since each remote LWSN node will be using the same config file over the network.

5. Save the cmdLine file, making sure no file extension is added to the filename.

6. Duplicate the LWSN-01 cmdLine file three times and name them LWSN-02 cmdLine, LWSN-03 cmdLine, and LWSN-04 cmdLine.

7. Edit each of the the LWSN cmdLine file’s contents by changing the job and ack number to match the file name’s number, as follows:

LWSN-02 cmdLine contents:

-2 -c”HostHD:Users:adminUserName:Library:Preferences” “:Commands:job2” “:Commands:ack2”

LWSN-03 cmdLine contents:

-2 -c”HostHD:Users:adminUserName:Library:Preferences” “:Commands:job3” “:Commands:ack3”

LWSN-04 cmdLine contents:

-2 -c”HostHD:Users:adminUserName:Library:Preferences” “:Commands:job4” “:Commands:ack4”

8. Save each cmdLine file, making sure no file extension is added to the filename.

Launching the LWSN Nodes on the Remote Rendering Machines

For additional information review Sharing the Host Machine & Mounting the Host Machine from the Render Machines.

1. On each of the remote Macs, in any Finder window, click the Network icon.

2. Select and Connect to the host machine on the network.

3. Log into the host machine as the main administrative user of the host machine.

4. Select the host machine’s main hard drive to mount it on the remote desktop.

5. Open the “HostHD:Applications:LightWave9:Programs” folder.

6. Launch the next two available LWSN-0# nodes, one at a time, on each dual processor remote machine as follows.

o Remote Render Machine 01: LWSN-01 & LWSN-02

o Remote Render Machine 02: LWSN-03 & LWSN-04

Setting up the Scenes for Batch/Network Rendering

For more information see Successful Scene File Preparation for LWSN.

1. Launch LightWave.

2. Use Items->Load->Scene to load: “:Scenes:Aviation:MustangLowRes.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

Render First Frame: 1

Render Last Frame: 60

Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5.Type MustangLowRes in the Save As: field.

6. Navigate up one level out of the Images directory to the Content Directory.

7.  Create a New Folder named Renders, or navigate into it if you already have one.

8. Create a New Folder inside Renders, named MustangLowRes.

9. Click the Save button to dismiss the dialog and accept the changes.

10. Set the RGB Type pop-up menu to LW_TGA24(.tga)

11. The RGB readout should now read MustangLowRes0001.tga, ...

12. Save the scene.

3. Use Items->Load->Scene to load: “:Scenes:Aviation:RC_Helicopter.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

Render First Frame: 1

Render Last Frame: 60

Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5. Type RC_Helicopter in the Save As: field.

6. Navigate to the Render folder you already created inside the Content Directory.

7. Create a New Folder inside Renders, named RC_Helicopter.

8. Click the Save button to dismiss the dialog and accept the changes.

9. Set the RGB Type pop-up menu to LW_TGA24(.tga)

10. The RGB readout should now read RC_Helicopter0001.tga, ...

11. Save the scene.

4. Quit LightWave.

Rendering the Network Batch with LightWave’s Built-in Controller

For more information see Using LightWave’s Built-in Network Rendering Controller.

1. Launch LightWave.

2. Open the Render->Utilities->Network Render panel.

3. Verify that the Maximum CPU Number is set to 4.

4. Click the Screamer Init button.

5. Click OK when the dialog appears stating: 4 available ScreamerNet CPUs were detected. You should now see both LWSN nodes repeatedly writing LightWave command: wait. and sendack: Ready to the console. You’ll also see two CPU’s listed in the Network Rendering panel with a status of Ready.

6. Click the Add Scene to List button and add the scene: “:Scenes:Aviation:MustangLowRes.lws”

7. Click the Add Scene to List button again and add the scene: “:Scenes:Aviation:RC_Helicopter.lws”

8. Hit the Screamer Render button and the LWSN nodes will begin rendering frames.

9. As each frame is finished, it will be written to the output directory that was set in each scene. “:Renders:MustangLowRes” & “:Renders:RC_Helicopter”

10. If you wish to stop the rendering before it is finished, press the Escape key while the Network Rendering panel is in the foreground, then hit the Screamer Shutdown button. This will stop rendering new frames and will quit the LWSN nodes once they finish rendering their current frame. If a LWSN node crashes during loading a scene, the Network Rendering panel will remain waiting for the scene to load and will never recover. In such an instance you must force Quit LightWave with Command-Option-Esc. To quit a LWSN node before it finishes rendering a frame, bring it to the foreground and press command-period.

There are a few key differences between the basic network setup (which you should review before proceeding) and the advanced network setup that follows. Rather than running all the LWSN instances from the host Mac (which may become unstable for more than four nodes, especially in some versions of Jaguar), we will install separate sets of everything LWSN needs, on each remote rendering Mac, including a separate set of config files. We will then make a content directory available that all LWSN nodes may share, without using administrator access to the host, which would pose a potential security risk. We will finally use a third party network controller to manage all the LWSN nodes, such as Jonathan Baker’s robust ScreamerNet Controller for OS X or Bruce Rayne’s excellent RenderFarm Commander. Adding either of these network controllers to your LightWave toolbox will give you a very robust Mac OS X network render farm that should be able to handle anything you can throw at it. This advanced setup is not intended to be the quickest or easiest way to network render with LWSN. It’s intended to show you how to really master LWSN to set up and manage a robust production level render farm on the Mac.

-Setting up the Mac OS X Network for Rendering

-Sharing the Host Machine on the Network

-Sharing the Content Folder with SharePoints

-Mounting the Content Folder from the Render Machines

-Step-by-step LWSN Mac OS X Advanced Network Rendering Example

-Creating a New set of Config Files for ScreamerNet

-Setting up the Host Config File

-Setting up the Config Files on the First Remote Render Node

-Setting up LWSN and the cmdLine Files on the First Remote Node

-Setting up LWSN on the Remaining Render Nodes

-Setting up the Scenes for Batch/Network Rendering

-Launching the LWSN Nodes on the Rendering Machines

-Rendering the Network Batch with ScreamerNet Controller.

-Rendering the Network Batch with RenderFarm Commander.

Setting up the Mac OS X Network for Rendering

In order to perform network rendering, you’ll obviously need a functioning network. This tutorial assumes that you have at least a basic peer-to-peer Mac OS X network already up and running which allows you to connect from one Mac to another to share files. You don’t need Mac OS X Server, any version of Mac OS X is capable of peer-to-peer networking. If you don’t already have a physical network, you’ll first need to set one up. You can find information about setting up a Mac OS X network with this Google search.

This tutorial was written using Mac OS X.3.3 running on a 100 bps Ethernet network and LightWave 8. Other versions of Mac OS X and/or LightWave may be slightly different, but the basic concepts will remain the same...

Sharing the Host Machine on the Network

The first step in setting up your network rendering is to make sure the host machine, which contains your LightWave applications, third party render controller and Content Directory, is available on the network for the other remote rendering machines to log into.

Simply follow these steps to verify that your host machine is available:

1. Launch System Preferences from the Apple menu or the Dock.

2. Click the Sharing icon under Internet & Networking.

3. Click the Services tab.

4. Select Personal File Sharing and click the Start button, if it’s not already on.

5. If you’ll be using any PC render nodes in your render farm, you should also activate Windows Sharing.

6. Click the Firewall tab and click Start if the firewall was not already on. This helps secure your Mac.

7. In some cases, such as if you’re running any older Mac OS 9 systems as render nodes (with LWSN 7.5), it may also be necessary to activate AppleTalk.

In order to successfully render scenes with LWSN, it’s critical that you understand and use the Content Directory properly. For more information see Mastering LightWave’s Content Directory.

When rendering scenes over the network, there is an added twist. Not only do all the render nodes need to have access to and be able to locate the shared content folder, they may need to locate it with two different paths to maintain a secure network. This is especially the case when you are using LWSN instances running on remote machines as well as on the host machine at the same time or if you are using a mixture of Macintosh and PC machines.

Typically the path to locate a folder on the host machine locally will be different than the path used to access it remotely, unless the remote user is logging into the host machine using the host machine’s administrator user. This however gives the remote machine full, unrestricted access to the host machine, which is not very secure. We’ll be using a third party render controller that will seamlessly handle multiple paths to the content directory, based upon where it’s being accessed from.

Another potential problem with the shared content directory is that in a production environment a large deal of space is needed to hold all the content and rendered frames. This often means that the content folder needs to be located on a hard drive other than the host machine’s internal system drive. On Mac OS X however, the only user that can typically access and mount an external drive, is the host machine’s administrator. To solve this problem, we’ll be using the free Mac OS X utility SharePoints, by HornWare, to publish our content directory from an external drive. The latest version of SharePoints can always be found on HornWare’s site, the version on Apple’s site was somewhat outdated the last time I checked. If you do use this utility frequently, a small donation to the author would be appreciated and encouraged.

The following steps will walk you through the process of sharing the content folder with SharePoints.

1. Move your properly structured content folder to wherever you wish it to reside for sharing. In our case it’s at the top level of one of our external drives.

2. Rename this folder NetContent. You can call it anything you wish, but I’ve found that using a generic name like NetContent and leaving it in the same place makes the most sense. This way I can have the entire render farm always accessing this same folder as the content directory. Then when I wish to render a scene on the farm, I simply move all the scene’s contents into this NetContent folder (and move older stuff out if I wish). This way, its always accessible to the network, all the LWSN config files will know where to find it and I don’t have to keep messing with the config files or SharePoints once everything is set up.

3. Create a new folder named Commands inside the NetContent folder. This will be the command directory for the network controller to communicate with the render nodes.

4. Create another new folder inside the NetContent folder. Name this new folder Renders. This will serve as the render destination for all the remote render nodes.

5. Download the latest version of SharePoints.

6. Install it by copying the SharePoints.prefPane file into your home folder’s Library/PreferencePanes folder. Create the PreferencePanes folder in your Library folder if it doesn’t already exist. Installing it this way will only make it available to you, not other users that may log into the same Mac. To make the control panel available to all users instead, you could place it in the top level /Library/PreferencePanes folder instead of the one in your home folder.

7. Creating a new share point with the NetContent folder.

1. Open the System Preferences panel and click the SharePoints icon at the bottom.

2. Type NetContent into the Share Name field. This is the path the remote render machines will ultimately use to access the content folder on the network.

3. Set the Group to staff.

4. Set the Owner & Group both to r/w, but leave Everyone set to none.

5. Use the Browse button to select the NetContent folder.

6. Set AppleFileServer(AFS) Sharing to Shared (+).

7. If you will be using any PC render nodes, also set the Windows(SMB) Sharing to Shared (+).

8. Click the Create Share button.

8. Creating a new File Sharing only user that can log into this machine from each remote Mac for rendering.

1. Click the Users & “Public” Shares button.

2. If any of the current users are selected, deselect them by command-clicking on the selected user in the user list to the left. This will clear out the text fields to the right.

3. Type NetRender in the Full Name field.

4. Type netrender in the Short Name field.

5. Change the Group to Staff. This user’s group must be set to the same group that you gave read/write access to when you created the share point NetContent.

6. Click the Get Next UID button to generate a unique UID number for this user.

7. Leave Public Directory Shared? set to No.

8. Click the Add New User button.

9. When asked to confirm adding a new File Sharing only user, click Yes.

10. Then provide your administrator password when asked.

11. Then SharePoints will ask for a new password for this user. Enter a password twice, and write it down somewhere so you don’t forget it.

9. Setting the file permissions for the NetContent folder. You’ll need to do this any time you add or change content inside the NetContent folder. All the render nodes need read/write access to this content or the network render will fail.

1. Select the NetContent folder in the Finder and select File->Get Info.

2. Set Group to staff.

3. Set Owner Access & Group Access to Read & Write.

4. Set Others to No Access.

5. Click the Apply to enclosed items… button.

6. Then verify that the change flowed down through all the files by selecting a file inside the NetContent folder and verifying that the permissions are set correctly for that file, using File->Get Info. Depending on where you got the content, you may not be able to change all the permissions this way. In that case use the following commands in the terminal. Substituting the name of your external hard drive or path to NetContent and your username. You’ll need to be logged in as an administrator and also supply your administrator’s password when you run the sudo command.

cd /Volumes/WorkHD

sudo chown -R ownerusername:staff NetContent

sudo chmod -R 770 NetContent

Mounting the Content Folder from the Render Machines

Once the NetContent share point is set up. It’ quite easy to mount it from each remote Mac. Simply follow these steps on each remote rendering machine:

1. In any Finder window, click the Network icon.

2. Locate and select the host machine on the network, it may show up directly or you may need to open a subgroup depending upon how your network is configured.

3. Once the host machine is selected, click the Connect button.

4. When the log-in screen appears click the Registered User button. Guest access won’t work in this instance since you wouldn’t have sufficient read/write privileges.

5. Enter the username and password of the NetRender user you created on the host machine using SharePoints. Click the Connect button when ready.

6. You’ll now get a dialog box showing all available home directories as well as any share points on the host computer. Select the NetContent share point. Click OK and the NetContent share point will be mounted on the desktop of the remote rending node.

 

Step-by-step LWSN Mac OS X

Advanced Network Rendering Example

Creating a New set of Config Files for ScreamerNet

Before setting up the individual remote rendering machines, we’ll first set up a new SNConfigs folder with a master set of LWSN 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.

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

1. Inside the Applications:LightWave9 folder, on the host Mac (the one that will run the controller that will control the remote render Macs), create a new folder named SNConfigs.

2. Duplicate the LightWave cmdLine file as a backup. It’s typically installed as: Applications:LightWave9:Programs:LightWave cmdLine

3. Open the LightWave cmdLine file in TextEdit.

4. Edit the LightWave cmdLine contents to redirect LightWave to the new SNConfigs folder. Edit it to read as follows:

-0 -c”HostHD:Applications:LightWave9:SNConfigs”

Change HostHD to the name of your Mac’s main hard drive. See Mastering LightWave’s Mac OS X cmdLine Files for more information.

5. Save the LightWave cmdLine file making sure that no “.txt” extension gets added to the file name, or LightWave will fail to recognize it.

6. Launch LightWave and open the Edit Plug-ins panel with Utilities->Plug-ins->Edit Plug-ins...

7. Click Scan Directory, & Choose: Applications:LightWave9:Plugins

8. Close the Edit Plug-ins panel and quit LightWave, which will write out the new set of config files in the new SNConfigs folder.

Setting up the Host Config File

We’ll now verify the LWSN specific settings in the new config file.

See Config Settings for LWSN for more information.

1. Launch LightWave on the host Mac.

2. Open Render->Options->Render Options and verify that Multithreading is 1 Thread.

See Multithreading for more information.

3. Open the Camera Properties panel and verify that Segment Memory Limit is32, or higher if you intend intend to render at high resolutions.

See Default Segment Memory for more information.

4. Click the yes button when asked if this should be the new default setting.

5. Quit LightWave to save the changes to the config file.

6. You may now switch your LightWave cmdLine file back to what it was before, using the duplicate backup cmdLine file you made. This way LightWave itself will use its own original set of configs, independent of these new SNConfigs. Just keep in mind that if you subsequently add plug-ins or otherwise change your normal LightWave configs, you’ll also need to update your SNConfigs if you wish the render farm to also use the new plug-ins or other changes.

Setting up the Config Files on the First Remote Render Node

See Mastering LightWave’s All Important Config Files for more information.

1. On the first remote rendering Mac, create a new Applications:LightWave9 folder.

2. Copy the following folders from the host Mac’s LightWave9 folder to the remote Mac’s new LightWave9 folder.

o Plugins

o Programs

oSNConfigs

3. Open the Applications:LightWave9:SNConfigs:LightWave Extensions 9 Prefs file on the remote rendering Mac in TextEdit

4. Select the name of your host Mac’s hard drive in the first { Entry as seen below.

5. Copy the hard drive name to the clipboard.

6. Select Edit->Find->Find… from the menu.

7. Paste the name of the host hard drive into the Find: field.

8. Type or copy/paste the name of this remote rendering Mac’s hard drive into the Replace with: field, and click Replace All. This should replace over 600 or references.

9. Save the LightWave Extensions 9 file making sure that TextEdit doesn’t add a “.txt” extension to the file name, or LWSN won’t recognize it.

Setting up LWSN and the cmdLine Files on the First Remote Node

For more information see Mastering LightWave’s Mac OS cmdLine Files.

1. Open the directory Render01HD:Applications:LightWave9:Programs and locate the LWSN application.

2. Make two copies (assuming you’re on a dual processor Power Macintosh) of LWSN and name them LWSN-01 and LWSN-02, with no file extension.

3. Make one copy of the file LWSN cmdLine and name it LWSN-01 cmdLine, with no file extension.

4. Edit the LWSN-01 cmdLine file’s contents to read as follows, all on one line:

-2 -c”Render01HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job1” “:Commands:ack1”

Note: you need to specify the path to the config directory on the remote render machine. Don’t forget to replace Render01HD with the actual name of your remote render machine’s hard drive. We’ll be using a remote content directory path, NetContent, which we will share with SharePoints. We’ll also be using a command directory, Commands, inside this content directory.

5. Save the cmdLine file, making sure no file extension is added to the filename.

6. Duplicate the LWSN-01 cmdLine file and name it LWSN-02 cmdLine.

7. Edit the LWSN-02 cmdLine file’s contents by changing the job and ack number to match the file name’s number, as follows:

-2 -c”Render01HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job2” “:Commands:ack2”

8. Save the cmdLine file, making sure no file extension is added to the filename.

Setting up LWSN on the Remaining Render Nodes

Now perform the following steps to set up each additional render node.

1. Copy the Render01HD:Applications:LightWave9 folder from the first remote render node, to each of the others.

2. Open the Applications:LightWave9:SNConfigs:LightWave Extensions 9 Prefs file on each remote rendering node in TextEdit

3. Find and Replace all the instances of Render01HD with the corresponding name of each of the remaining remote render nodes.

4. Save the LightWave Extensions 9 file on each of the remaining remote render nodes, making sure that TextEdit doesn’t add a “.txt” extension to the file name.

5. In the Applications:LightWave9:Programs folder on each of the remaining remote render nodes, locate the files LWSN-01, LWSN-01 cmdLine, LWSN-02 and LWSN-02 cmdLine.

6. Change the numbers in these file names with the next available sequential numbers on each of the remaining remote render nodes. For instance. If the next available nodes are also dual processor Macs, you would change all the names from “01” and “02” to “03” and “04”. Then the next Mac would get “05” and “06”, etc...

7. Edit all the LWSN-## cmdLine file’s contents by changing the hard drive name and changing the job and ack number to match the file number in the corresponding file name, as follows:

On the second remote rendering machine:

LWSN-03 cmdLine contents:

-2 -c”Render02HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job3” “:Commands:ack3”

LWSN-04 cmdLine contents:

-2 -c”Render02HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job4” “:Commands:ack4”

On the third remote rendering machine:

LWSN-05 cmdLine contents:

-2 -c”Render03HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job5” “:Commands:ack5”

LWSN-06 cmdLine contents:

-2 -c”Render03HD:Applications:LightWave9:SNConfigs” -d”NetContent” “:Commands:job6” “:Commands:ack6”

8. If you also wish to render on the host machine, and if it’s also a dual processor Mac, duplicate the LWSN and LWSN cmdLine files twice and name them LWSN-07, LWSN-07 cmdLine, LWSN-08 and LWSN-08 cmdLine.

9. Edit all the host machine’s LWSN-## cmdLine file’s contents by changing the hard drive name and changing the job and ack number to match the file number in the corresponding file name. Just like on the remote nodes. The major difference is that we will also edit the content directory path to use a full local path, since these LWSN instances will access the content folder locally, rather than over the network. In this example the content folder is located on an external drive, named WorkHD, attached to the host Mac. If yours is located elsewhere, use the full path to its location in your setup.

On the host machine:

LWSN-07 cmdLine contents:

-2 -c”HostHD:Applications:LightWave9:SNConfigs” -d”WorkHD:NetContent” “:Commands:job7” “:Commands:ack7”

LWSN-08 cmdLine contents:

-2 -c”HostHD:Applications:LightWave9:SNConfigs” -d”WorkHD:NetContent” “:Commands:job8” “:Commands:ack8”

Setting up the Scenes for Batch/Network Rendering

The main difference between setting up the scenes here for advanced network rendering, rather than the previous example in basic network rendering, is that we need to copy (or move) all the content into the network accessible NetContent share point. If you have not already set up your NetContent folder with SharePoints, see Sharing the Content Folder with SharePoints.

For more information about general scene prep, see Successful Scene File Preparation for LWSN.

1. Copying all the content to the NetContent folder.

1. Locate the HostHD:Applications:LightWave9:Content:Classic Content folder. This is where the sample scenes are that we will use as an example.

2. Copy the following folders from the Classic Content folder to the NetContent folder that you set up previously with SharePoints. Be sure to maintain the same folder structure.

NetContent:Images:Aviation

NetContent:Images:Reflections

NetContent:Objects:Aviation

NetContent:Scenes:Aviation

3. Select the NetContent folder in the Finder and select File->Get Info.

4. Set Group to staff, Owner Access & Group Access to Read & Write.

5. Set Others to No Access and click the Apply to enclosed items… button.

2. Launch LightWave.

3. Use Edit->Set Content Directory to set the content directory to the NetContent folder.

4. Use Items->Load->Scene to load: “:Scenes:Aviation:MustangLowRes.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

Render First Frame: 1

Render Last Frame: 60

Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5. Type MustangLowRes in the Save As: field.

6. Navigate up one level out of the Images directory to the NetContent folder.

7. Navigate into the folder named Renders.

8. Create a New Folder inside Renders, named MustangLowRes.

9. Click the Save button to dismiss the dialog and accept the changes.

10. Set the RGB Type pop-up menu to LW_TGA24(.tga)

11. The RGB readout should now read MustangLowRes0001.tga, ...

12. Save the scene.

5. Use Items->Load->Scene to load: “:Scenes:Aviation:RC_Helicopter.lws”

1. Open Render->Options->Render Options

2. Verify the following render range fields:

Render First Frame: 1

Render Last Frame: 60

Render Frame Step: 1

3. Click the Output Files tab.

4. Click the RGB Files button.

5. Type RC_Helicopter in the Save As: field.

6. Navigate to the Renders folder inside the NetContent folder.

7. Create a New Folder inside Renders, named RC_Helicopter.

8. Click the Save button to dismiss the dialog and accept the changes.

9. Set the RGB Type pop-up menu to LW_TGA24(.tga)

10. The RGB readout should now read RC_Helicopter0001.tga, ...

11. Save the scene.

6. Quit LightWave.

Launching the LWSN Nodes on the Rendering Machines

Perform the following steps on each of the remote rendering machines.

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

1. 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:LightWave9:Programs folder, on the remote rendering machine, not on the host Mac.

5. Launch the next two available LWSN-0# nodes, one at a time, on each dual processor remote machine as follows.

oRemote Render Machine 01: LWSN-01 & LWSN-02

oRemote Render Machine 02: LWSN-03 & LWSN-04

oRemote Render Machine 03: LWSN-05 & LWSN-06

6. Now go to the dual processor host Mac and launch the next two available LWSN-0# nodes, one at a time, as follows.

o Host Machine: LWSN-07 & LWSN-08

7. Note that each LWSN instance will repeatedly write Can’t access job file to the window. This is normal, until the render controller is started, which creates the job files.

8. 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.


 

Troubleshooting and limitations:

The most common cause of ScreamerNet crashing is when too many nodes try to write or read their information to or from the Host computer while the host renders. If that seems to be the case, try saving the frames to a mapped network drive on another computer. You will have to go back to your scene and redirect the path for saving frames. Of course, make sure that the new drive has enough space to store the frames.

If that doesn’t solve your crashing problems, do not use the host machine as a render node. Use it only as a server where the hard drives are found.

ScreamerNet can be finicky about how filenames and directories are composed. Putting spaces in a name, for example, old macdonald.lws, might cause a problem. Try using a dash, -, or an underscore, _, instead of spaces, old_macdonald.lws.

Some plug-ins don’t like running with more than one thread. For ScreamerNet scenes, go to the Render Options panel, (Render > Options > Render Options). In the Multithreading drop-down menu, change to 1Thread, and save the scene. Quit LightWave and start it again. This will update the configuration files. You then will need to restart all the nodes so they will read the updated configuration files.

Matt Gormer also lists other possible problems and solutions in his tutorial. With his permission, they are excerpted below.

Hopefully everything is running smoothly, but problems can occur, usually because something is setup wrong. Some of the main problems that arise are listed here along with possible remedies.

The biggest limitation to ScreamerNet are plug-ins that are not written to take advantage of it. I’m not aware of a definitive list of all the ones which do and don’t work. If in doubt read the documentation that came with the plug-in, it should say whether it has problems or not. If it doesn’t say but the plug-in still doesn’t seem to be work, re-scan your plug-ins to update the LWEXT8.cfg file. If it still doesn’t work then chances are it’s not compatible with ScreamerNet.

If your scene uses procedural textures (fractal noise etc.) you may experience differences in the pattern if you render on machines with different processors. Mixing old and new processors, AMD and Intel, could lead to problems. This is really only a problem with animations as textures could suddenly change from frame to frame, if in doubt run a test or use all computers with the same processor type.

Another known problem with ScreamerNet (correct as of v7.5c of LightWave) is its dislike for scenes that have had a Spreadsheet used on them. Plug-ins like Spreadsheet save data to the scene file, which causes ScreamerNet to hang. The only way around this is to remove the entry in the scene file made by Spreadsheet.

Open your scene files in a text editor. Near the top you will find an entry that says:

Plug-in MasterHandler 1 .SpreadsheetStandardBanks

followed by:

EndPlug-in

There will be another right after that entry that starts with:

Plug-in MasterHandler 2 SpreadsheetSceneManager

and if you scroll down there will be another:

EndPlug-in

Highlight all the text between the first Plug-in MasterHandler and the last EndPlug-in, delete it, then save the file, it should now render okay.

Problem:
“My nodes can’t find the job files.”

Possible solution:
They can’t find the job files because they can’t see the Command folder, which holds them. So open up the node batch file and check the script lines that end in job and ack. Make sure that pathname before these words point to your Command folder.

Also check that all the render node computers have access to read and write to the folder.

Problem:
“My nodes seem fine but when I press Screamer Init it can’t find any CPUs.”

Possible solution:
Again this is a command folder problem, check that the Network Render panel has the same Command Directory path as the nodes batch file. Also check that the host computer has access to read and write to the folder.

Problem:
“Rendering seems to be working but no files are saved.”

Possible solution:
The messages output in the node’s MS-DOS window will often give you a clue to the problem. For example, it might say that it could not find an object or image that was in the scene. This can be caused when the Content directory that the rendering node is accessing does not contain all the scene’s data. Check that the render batch files are looking in the correct place for the config files, and that they can access the folder on the network.

Next, make sure your scene file is saving RGB FILES and not an animation (.MOV / .AVI etc.) in the Output tab of the Render Options panel. ScreamerNet can ONLY save individual frames.

Finally, check that your plug-ins (LWEXT8.cfg) file is up to date by re-scanning them using the pathname all the nodes will be using to find them on the network.

Problem:
“Rendering seems to work okay but all my saved files are in .FLX format.”

Possible solution:
There are two possible reasons. The first is that ScreamerNet can’t find the plug-in to save in the format you’ve specified, so check that your plug-ins (LWEXT8.cfg) file is up to date by re-scanning them using the pathname all the nodes will be using to find them on the network. Also check that the render batch files are looking in the correct place for the config files, and that they can access the folder on the network.

The second reason is that that the render node that saved the file ran out of memory to load the saver plug-in so, as a last-resort, it used the built in FLX saver.

If you have a whole scene’s worth of FLX images, you can use LightWave to convert them into your desired format. Simply load the series as a sequence of images for the Backdrop in a blank scene and render in the proper format. If you only need to convert a few FLX images, load them into the Image Editor panel. Highlight the name of an image and double-click on the preview, (or just double-click on the name), to open it up in the Image Viewer. Now, click on File > Save RGBA, and pick your format.

Problem:
“My particles aren’t working.”

Possible solution:
Particles are a mathematic simulation.  Therefore, each computer would start calculating the particles at the start of each frame rendered.  The way to fix this is to “bake” the motion of the particles. What you do, is to save the particle FX calculation to disk (as a .PFX file) in the folder with the scene file, or to a mapped drive that can be seen by all the networked computers.

Problem:
“Motion designer isn’t working.”

Possible solution:
Same as particles, this is a mathematic issue. The way to handle this is to bake the motion, and save the motion designer calculation to disk (as a .MDD file) in the folder with the scene file.

 


 

 

 

Return to LightWave Index