DreamLight Interactive

Mastering LW ScreamerNet

Contact DreamLight.com

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

Managing LightWave’s All Important Config Files,
Mastering LightWave ScreamerNet (lwsn) for Mac OS X

Previous Contents 1 [2] 3 4 5 6 7 8 9 Next [Next: Command Line Parameters]

LightWave Layout 11 config file

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

Read the How-to Book: Creating a 3D Animated CGI Short. Follow the 3D Web Series: The Autiton Archives - 3D Animated Web Series - Pilot Webisode 000 - Fault Effect

Updating LightWave’s Config Files

Top

LightWave only updates the config file when you quit the program. Therefore anytime you make changes to any of the config settings (other than menu or shortcut changes which are saved when you close the respective editor) you must be sure to quit LightWave to ensure that the changes are written to the config file itself. ScreamerNet only reads the config file when first launched. Therefore, if you wish to make changes to the config file for ScreamerNet and you are using a single config file for both Lightwave and ScreamerNet, you should perform the following steps:

  1. Quit ScreamerNet (lwsn).
  2. Launch LightWave Layout.
  3. Make changes to the desired config settings in LightWave Layout, as discussed later.
  4. Quit LightWave Layout to write the changes out to the config file.
  5. Re-launch lwsn so that it reads the updated config file.
  6. Re-launch LightWave Layout if you’re using the built-in network controller to manage ScreamerNet.

LightWave’s Config File Path on Mac OS X

Top

On Mac OS X the full default path of the config files is:

"/Users/username/Library/Application Support/NewTek/LightWave/11.0/"

Whenever writing out paths (such as for lwsn command lines) on Mac OS X always make sure to use the Unix separator "/" (forward slash) not the DOS separator "\" (back slash) and enclose it in quotes.

Replace username with your actual user name, and 11.0 with your version of LightWave. The default Config File folder is in the Application Support folder in the Library folder of the current user’s home folder. This would mean that any config files kept in this default location would only apply to this user as each user would have their own set of config files on this Mac in each of their own home folders.

Up to Mac OS X 10.6 Snow Leopard the user’s Library folder is visible in their home folder.

Mac OS X 10.6- Current user’s Library/Application Support/NewTek/LightWave/11.0/ folder

In Mac OS X Lion (10.7) or later the user’s Library folder is hidden but you can still access it by using the Go->Go to Folder... menu item in the Finder and typing ~/Library into the text field, which tells it to open the current user’s Library folder.

Go to the folder: ~/Library

Mac OS X 10.7+ Library/Application Support/NewTek/LightWave/11.0 folder

The config files are named as follows:

Layout 11 : Basic Layout Settings

Modeler 11 : Basic Modeler Settings

Extensions 11 : User plugin paths

Extension Cache : Auto-scanned plugin paths

Hub 11 : Basic Hub Settings

Alternatively you may create a custom folder named Preferences within the LightWave3D application folder and LightWave Layout, Modeler and ScreamerNet lwsn will use that folder as the default to create a new set of config files. This alternate default path would be:

"/Applications/NewTek/LightWave3D11.0/Preferences"

Where 11.0 is replaced with the verison of your LightWave 3D.

This can be useful if you have multiple builds of LightWave on the same Mac. It’s also useful if you want multiple users on the same Mac to all use a single set of config files because they’d be stored in the common Applications folder.

You don’t need to specify any of these config files by name, only the path to the folder where they are stored, and that’s only if you decide to keep your config files in a location other than one of these two default locations. If you leave the config files in one of these default locations, you do not need to specify their path for LightWave, Modeler, the Hub, or for ScreamerNet (lwsn). If you use DLI_SNUB-Launcher it will also automatically configure itself to use a custom Preferences folder in the LightWave3D folder or the default config folder in the current user’s Library/Application Support folder.

You may wish to use a different custom config folder for ScreamerNet in some situations, such as:

  • 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/cores.

DreamLight Interactive ScreamerNet UB Launcher Update

DLI_SNUB-Launcher™ is an XCode Aqua GUI front end to interactively configure and launch LightWave 9, 10 & 11+ ScreamerNet UB lwsn instances for standalone, batch and network rendering. Download your copy today!

Created by the author of Creating a 3D Animated CGI Short
& Mastering LightWave ScreamerNet (lwsn) for Mac OS X
Michael Scaramozzino - LightWave 3D Artist Profile.

Shop for DLI_SNUB-Launcher Merchandise Available @ Telebites.com DLI_SNUB-Launcher T-Shirts DLI_SNUB-Launcher Polo Shirts DLI_SNUB-Launcher Mugs DLI_SNUB-Launcher Hats DLI_SNUB-Launcher Mousepads

Creating a New Set of Config Files

Top

To create a new set of config files simply follow the following steps.

  1. Locate your LightWave installation, typically:
    /Applications/NewTek/LightWave3D11.0/
  2. Inside the LightWave3D folder, create a new folder named Preferences or delete the existing folder if it already exists in that location.
  3. Launch & Quit Layout so that Layout creates a new set of config files.
  4. Launch & Quit Modeler so that Modeler creates a new config file.
  5. Quit the Hub so that it creates a new config file.

LightWave automatically scans plugins when launched. If you wish to add custom third-party plugins then an easy way is to create a 3rdParty folder inside the support/plugins/ folder inside the LightWave 3D folder and put any new 3rd party plugins into that folder so that they will automatically load.

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

Config Settings for ScreamerNet

Top

The following settings are stored in the LightWave Layout config file and are used by ScreamerNet (lwsn): Content Directory, Command Directory, Default Segment Memory, and Multithreading.

Content Directory

Top

Here’ a sample Content Directory entry from the config file:

ContentDirectory /Users/username/Documents/LWContent/

The Content Directory is simply a folder that contains all the asset files needed for a project. It usually contains a full compliment of special sub folders for the various types of files contained in the project, such as Images, Objects, Scenes, etc. If you wish to use ScreamerNet (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 that root folder, and all files are located in sub folders of this root folder. This means the project’s root folder is a self contained unit that may be moved as desired, including to other machines, without breaking all the dependent file/folder links.

In LightWave, the Content Directory folder itself may be named whatever you like, but there are some specific sub folders that LightWave expects to find inside the Content Directory folder that you should not rename or move. The most common of these special sub folders are named Images, Scenes & Objects. For a list of other possible sub folders look at LightWave Layout’s Paths tab on the Preferences panel. These sub folders 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 sub folders

There are two approaches to effectively organize the Content Directory . Using a separate Content Directory for each project, or using a single Content Director for all your projects.

Separate Content Directory per Project

If your projects don’t typically share assets and you don’t mind changing the Content Directory folder for each project you work on, then you can keep each project in its own self-contained Content Directory folder. In this case simply put all your project’s objects in an Objects folder, all your project’s images in an Images folder and all your project’s scenes in a Scenes folder within a project folder.

For an example of a simple separate Content Directory structure for a single project, download the free DLI_SuperBalls Benchmark project included in the DLI_SNUB-Launcher download package.

DLI_SuperBalls LW11 Benchmark Project Content Folder

NOTE: You can easily create such a self-contained Content Directory from any LightWave scene in Layout, even if it is not already properly structured and it accesses objects and images from far-flung folders. Simply open the scene in LightWave Layout, select File->Package Scene, select a destination folder and click the OK button. This will copy the scene and all associated asset files into a new properly structured Content Directory that may then be rendered with ScreamerNet lwsn.

Shared Content Directory for all Projects

If your projects typically share assets or changing the Content Directory often would be inconvenient, such as when multiple users or render nodes all point to a common shared Content Directory, then you can organize a single Content Directory for all your projects to share. This is also a useful if you intend to submit multiple projects for rendering over ScreamerNet lwsn because all the ScreamerNet lwsn nodes would need to be quit and relaunched anytime you wished to change the Content Directory. If all projects use the same Content Directory then you may leave ScreamerNet running and rendering while adding new scenes to render as needed, without having to keep stopping and restarting all the nodes for each project.

The trick to organizing your Content Directory in this manner is to make separate folders for each project inside each of the Images, Objects and Scenes folders. Those project specific sub folders may be named anything you like, but the enclosing folders at the top level of the Content Directory folder must be named Images, Objects and Scenes, unless you explicitly changed them in LightWave’s path preferences panel.

Here’s an example of a single Content Directory structure that is shared by multiple projects:

Setting the Content Directory in the Config File

The ContentDirectory entry is not actually written to the config file until you Quit LightWave after specifically setting a Content Directory or by allowing LightWave to automatically change the Content Directory when loading a scene file. You may explicitly set a Content Directory as follows.

  1. Launch LightWave Layout
  2. Select: Edit->Set Content Directory... & Choose your desired Content Directory folder,
    or open a scene file and click Yes when asked if you’d like to change the Content Directory.
  3. Quit LightWave Layout, to actually save the changes to the config file.

Command Directory

Top

Here is a sample Command Directory entry from the config file:

CommandDirectory /Users/username/Documents/LWContent/Commands/

Believe it or not, LightWave really doesn’t do any “network” rendering. Neither LightWave nor ScreamerNet lwsn really has any idea that it may be communicating over a network or even that any network even exists. All LightWave does is write simple text commands into a job command text file in a common Command Directory. Then each ScreamerNet lwsn render node simply reads those text commands from the job text files, executes the commands and writes a text reply into an ack (acknowledgment) text file in the same Command Directory. What makes this work over a network is setting it all up so that each machine has read/write access to the same Command Directory folder.

The Command Directory is the folder that contains the job command file and the acknowledgement file. These are two plain text files that the ScreamerNet controller uses to communicate with each ScreamerNet lwsn node during batch or network rendering.

The communication goes like this:

  1. The ScreamerNet controller creates a job file.
  2. The ScreamerNet controller writes a command into the job file.
  3. The ScreamerNet lwsn node reads the command from the job file.
  4. The ScreamerNet lwsn node performs the command.
  5. The ScreamerNet lwsn node creates an ack (acknowledgment) file.
  6. The ScreamerNet lwsn node writes a reply to the ack file.
  7. The ScreamerNet controller reads the reply from the ack file to decide what’s next.

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

Both the user running the ScreamerNet controller (typically LightWave or a third party controller) and the user running ScreamerNet 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, I prefer to use a shared Content Directory, with read/write access for all users, and keep everything inside this shared Content Directory, including my ScreamerNet Command Directory folder folder that I name Commands (the name doesn’t really matter but it’s useful to be descriptive).

Commands Folder

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

  1. Launch LightWave Layout.
  2. Set LightWave’s Content Directory with: Edit->Set Content Directory...
    to your desired Content Directory folder.
  3. Select: Render->Network Render
  4. Click the Command Directory button.

ScreamerNet Network Rendering Panel - Command Directory

  1. Navigate to the same Content Directory you set in step 2.
  2. Create a New Folder named Commands inside the Content Directory.
  3. Click the Choose button to close the dialog and accept the changes.
  4. If asked to initialize the ScreamerNet, click No (we’re not ready to render yet).
  5. Quit LightWave Layout to save your changes to the config file.

Default Segment Memory

Top

Here is a sample Default Segment Memory entry from the config file:

DefaultSegmentMemory 32000000

This is the maximum 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 Render Globals 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 the current session of 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 Layout.
  2. Open the Render->Options->Render Globals panel.
  3. Set the resolution to whatever you wish on the Camera tab.
  4. Notice the readout directly under the Segment Memory Limit button on the General tab.

    Render Globals - Segment Memory Limit Button

  5. If it lists more than one Segment then you may want to increase the Segment Memory Limit.
  6. Click the Segment Memory Limit button.
  7. The Segment Memory Limit dialog opens, with the current DefaultSegmentMemory config value.
    Segment Memory Limit Setting
    (NOTE: 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 Layout.
  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

Top

Here is a sample Render Threads entry from the config file:

RenderThreads 0

This is the number of concurrent threads (strings of commands) to execute during rendering. A setting of 0 in the config file corresponds to a setting of Automatic in the Render Globals panel and allows Layout/ScreamerNet lwsn to use as many threads as the Mac supports so a 12-Core/24-Thread Mac Pro would use 24 render threads. In the Activity Monitor it will show more threads than that since additional threads are used for support functions, but the heavy rendering will be limited to 24 threads.

In general you’ll get the best results by using the automatic setting and running one ScreamerNet lwsn node on each Mac. This way you can run the minimum number of nodes using the maximum number of threads on each Mac. In some cases though, if your particular scene uses primarily single-threaded processes or plugins then you may get better results running multiple nodes per Mac set to use fewer than the full number of threads, such as 2 ScreamerNet lwsn nodes, each set to 12 threads or 4 nodes each set to 6 threads. One thing to keep in mind though is that running multiple instances of lwsn means you’ll be using multiple times as much memory as a single instance. So if memory is an issue you may still want to run single instances per Mac. Another reason you may want to set it to use less than the maximum number of threads on your Mac is if you want to render in the background while still using the same Mac to do other work. In that case you may want to limit the render threads so that your Mac still has plenty of horsepower available for your other work.

Since the Multithreading setting is stored in the config file, if you wish to change it, be sure to check/set the RenderThreads setting in LightWave (or directly in the config file with a text editor) prior to launching ScreamerNet lwsn.

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

  1. Launch LightWave Layout.
  2. Open Render->Options->Render Globals
  3. Click on the Render tab.
  4. Set the Multithreading pop-up menu to Automatic or a specific number of threads, as desired.

    Multithreading Pop Up Menu

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

You may also locate and edit the RenderThreads line in your config file directly in a text editor. Simply change the number to 0 for automatic or 1, 2, 3, 4, 8, 12, 16, 24, 32 or 64 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 properly.

BlastOff! The Award-winning 3D Animated Short film by Michael Scaramozzino - Special Edition DVD

Please Support Our Continuing Independent Film Making Efforts!
Order your Award-winning BlastOff! Special Edition DVD today!

BlastOff!™ Merchandise Available @ Telebites.com BlastOff! T-Shirts BlastOff! Hats BlastOff! Mugs BlastOff! Calendar, Prints & Posters BlastOff! Mousepads

Previous Contents 1 [2] 3 4 5 6 7 8 9 Next [Next: Command Line Parameters]

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

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

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

BlastOff!™ Merchandise Available @ Telebites.com BlastOff! T-Shirts BlastOff! Mugs BlastOff! Calendar, Prints & Posters BlastOff! Hats BlastOff! Mousepads

 

 

Shop for DLI_SNUB-Launcher Merchandise Available @ Telebites.com DLI_SNUB-Launcher T-Shirts DLI_SNUB-Launcher Polo Shirts DLI_SNUB-Launcher Mugs DLI_SNUB-Launcher Hats DLI_SNUB-Launcher Mousepads

 

 

Silver Sage Scrolls™ inspiration through the ages Available @ Telebites.com

 

 

BlastOff!™ Merchandise Available @ Telebites.com BlastOff! T-Shirts BlastOff! Mugs BlastOff! Calendar, Prints & Posters BlastOff! Hats BlastOff! Mousepads

Silver Sage Scrolls™ inspiration through the ages Available @ Telebites.com

Shop for DLI_SNUB-Launcher Merchandise Available @ Telebites.com DLI_SNUB-Launcher T-Shirts DLI_SNUB-Launcher Polo Shirts DLI_SNUB-Launcher Mugs DLI_SNUB-Launcher Hats DLI_SNUB-Launcher Mousepads

BlastOff!™ Merchandise Available @ Telebites.com BlastOff! T-Shirts BlastOff! Mugs BlastOff! Calendar, Prints & Posters BlastOff! Hats BlastOff! Mousepads

Silver Sage Scrolls™ inspiration through the ages Available @ Telebites.com

Shop for DLI_SNUB-Launcher Merchandise Available @ Telebites.com DLI_SNUB-Launcher T-Shirts DLI_SNUB-Launcher Polo Shirts DLI_SNUB-Launcher Mugs DLI_SNUB-Launcher Hats DLI_SNUB-Launcher Mousepads

BlastOff!™ Merchandise Available @ Telebites.com BlastOff! T-Shirts BlastOff! Mugs BlastOff! Calendar, Prints & Posters BlastOff! Hats BlastOff! Mousepads

DreamLight Incorporated, 323 Andover Street, Suite 6, Wilmington, MA 01887 USA, Telephone: 978-658-5110
Search/Index Help Contact
Top