TUTORIAL APRIL 17 , 2001
Setting Up ScreamerNet II for the Mac
A guide to networking LightWave 6.5
On the grapevine, I have heard that there isn't a known tutorial about using ScreamerNet II on a Macintosh version of Lightwave 6.5. Having some experience with this, I thought it only right to create one, as it must be one of the most asked about questions on Lightwave discussion groups around the Internet.
For the purposes of clarity, this tutorial deals with a basic Macintosh network, consisting of a single 'Host' machine and three connected 'Node' machines. It is assumed that you have already managed to get your 'Nodes' communicating with your 'Host' machine via Appletalk, something that can be tested via Appleshare, which can be found from within the Chooser.
Mac OS 9.0.4 was used when writing this tutorial. The location and names of Control Panels may be different for different OS versions. I have not yet tested this at all on Mac OS X.
I will be working with a fictitious project called 'the-worm'. My content folder for this project is located within my hard disk called 'DavidT", inside a folder called "**PROJECTS."
The 'Host' machine will need to have program linking enabled. The reasons for this will become clearer later. 'Program Linking' can be activated via the 'File Sharing' control panel under 'Users and Groups'.
File Sharing -> Users and Groups
At the top of the list of users should be the identity of the 'Host' machine. Double click this entry.
Another window will open showing the 'Identity' of the machine. Under the dropdown menu located at the top of the window, select 'Sharing'.
Now, at the bottom of the 'Sharing' window should be a box marked 'Allow users to link to programs on this computer'. If it isn't done already, check this box and close the 'File Sharing' control panel.
Now you are ready to begin!
The program LWSN is the basis for network rendering using Lightwave. You cannot simply do it from within Lightwave Layout. LWSN relies on information from two sources other than itself:
Layout Preferences, which we will alter from within Layout.
As of the 6.5 version of ScreamerNet, no software needs to be installed on any of the 'Node' machines. It can all be achieved by accessing the 'Host' programs from across the network (hence the need to enable Program Linking). After some fiddling around to get the above files correctly formatted, this makes things a whole lot simpler and more reliable.
1. The "LWSN cmdline" file
This file contains a single line of code that LWSN uses to direct it toward two vital locations for its successful operation: the preference file for Lightwave Layout and the content folder from which you wish to network render. It also contains information about which specific 'Node' each instance of LWSN is controlling. You'll see this more clearly in a while.
Double clicking the file "LWSN cmdline" from within the 'Host' machine's Programs folder, should open it up in your default text editor, usually Simpletext. It should already contain a line of code which we are going to alter. For my fictitious project called 'the-worm' it would read as follows:
-2 -c"DavidT:System Folder:Preferences:" -d"DavidT:**PROJECTS:the-worm:" job1 ack1
The first part of this line -c"DavidT:System Folder:Preferences:" is going to direct LWSN towards our application preferences. On Macintosh, Preference files are almost always located within the System Folder -> Preferences. You should exchange the hard disk name "DavidT" for your 'Host's' hard disk name.
The second part of the line -d"DavidT:**PROJECTS:the-worm:" directs LWSN toward your current content folder; the project from which you wish to render. Directories are always followed by a colon and the quotation marks are required if there are any spaces in the names of your directories. I always include them anyway.
The last part of the line "job1 ack1" is used by LWSN to distinguish the differing 'Nodes'. The 'Host' machine could also be thought of as 'Node1' hence the use of the number one in this version of our "LWSN cmdline".
2. Multiple Node Folders
Because of changes in ScreamerNet II for 6.5 we must now create multiple copies of LWSN; LWSN cmdline and various other files that LWSN relies on. There will in fact be a different copy of these files for each rendering 'Node' on our network. Therefore, in order to stay organised, we'll create a folder for each 'Node' and put the relevant copies in each one. Below is a screenshot of the folder I created for 'Node2'. Remember that these are DUPLICATES of the files, don't simply move these files from the main Programs folder.
The name of this folder is not actually important. We'll be directing our 'Nodes' to their respective folders later by hand, so the name I've given the one above "LWSN_node2" is simply a personal naming convention. for 'Node3' I created a folder called "LWSN_node3" and so on. These are all placed within the Programs folder as seen below. I've created some spares also, just in case I ever win the lottery and can afford ten machines!
3. Altering the instances of "LWSN cmdline"
The duplicates of each of the files shown in fig3.1 are identical EXCEPT for the file "LWSN cmdline". For each instance of this file we must adapt it slightly.
For the instance found within "LWSN_node2" we must change it to the following:
-2 -c"DavidT:System Folder:Preferences:" -d"DavidT:**PROJECTS:the-worm:" job2 ack2
For the instance found within "LWSN_node3" we must change it to:
-2 -c"DavidT:System Folder:Preferences:" -d"DavidT:**PROJECTS:the-worm:" job3 ack3
You can see that the only change is in the "job" and "ack" numbers.
4. Changing Lightwave's Preferences
The final stage to setting up the 'Host' machine involves running Lightwave Layout and altering its own Network Rendering settings. These can be found from within Layout under Rendering -> Network Rendering...
At this stage all you need to do is set the "Command" directory path to your current content folder; the project folder from which you wish to render. This can be done by pressing the 'Command Directory' button and linking to the correct folder. With my fictitious project, it would eventually read as below. Also, make sure your current content directory is set to the same thing.
Once you've selected your Command Directory folder, you will be asked if you wish to initialize ScreamerNet. I would say 'Yes' to this, even though you have currently not readied your 'Node' machines. Doing this will clean out old job files and I just find that ScreamerNet seems a lot happier if you've initialized it at least once from Layout. After a few seconds you should be informed that "No CPUs were detected". This is fine for the moment.
Once you've set up Lightwave correctly as shown, quit out of Lightwave. This step is necessary in order for Lightwave's Preference file to be written with the new information. This, after all, is actually the file that LWSN will be referencing during rendering. You can re-run it again immediately if you like.
5. Run LWSN on your 'Host' machine
To test that everything is set up correctly, run the copy of LWSN that can be found in the main Programs Folder. This is the copy that will control our 'Host' machine's rendering.
All being well, LWSN should run and a window will appear with the text "LightWave command: init" being continuously written down the screen. If this doesn't happen and you get an error such as - Can't open file "job1". use the keystrokes "[Command] + [.]" to get out of ScreamerNet. Force quitting usually causes the machine to crash. Check all the above steps before trying again. Eventually it should work.
PHEW! That's it. You've finally set up your 'Host' machine ready for network rendering.
The same process will apply to each 'Node' on your network, so we'll just look at getting 'Node2' started.
1. Go to the first Node machine
This is where you get fit, especially if you work in a large office. You need to go to the machine which you've designated to be 'Node2'. From that machine, access your 'Host's' hard disk from across the network. This is usually done through the Chooser.
Once you've brought up the Host on your Node's monitor screen, navigate your way through its content until you find the folder "LWSN_node2" or your own equivalent. The path to this on my computer is shown below:
Inside this folder should be a copy of the application "LWSN". Run this application from the 'Node' and hopefully LWSN will begin running and a window will appear showing the text: "LightWave command: init" written continuously down the screen.
That's it! This machine is waiting to render. Repeat this step for each node and its own copy of LWSN. You're very nearly there.
Return to the 'Host' for a final time and run Lightwave Layout.
Go to Rendering -> Networking Rendering and use the button 'Add Scene to List' to queue up all the files you wish to render. Ensure that each of these files has already been setup correctly, so that 'Auto Frame Advance' is switched on, you have the correct frame range and frame step options selected and that you've also designated the files to be saved by ticking the correct option under Rendering -> Output Files.
Now, within Rendering -> Network Rendering, choose 'Screamer Init'. This will make Lightwave search for all the connected copies of LWSN and return an info box telling you how many 'Nodes' were detected. For my fictitious setup, this should be four; one 'Host' and three 'Nodes'.
All being well, click on the button 'Screamer Render', put your coat on and get the hell out of there before the place blows!
As long as you have enough RAM assigned to each copy of LWSN and all your machine's can supply it, the first scene will begin to load up. If you feel like it, [Command] + [Tab] your way across to ScreamerNet and see the informative information window telling you exactly what it's up to.
And that really is it. It probably seems like an unbelievable amount of work just to network render. But most of the donkey work is concerned with setting up LWSN for the first time. For all future projects you just need to alter your "LWSN cmdline" files to reflect a new content directory and do the same for Lightwave. I reckon that you can eventually get it down to around ten minutes for ten machines, although if anyone starts putting up speed benchmarks for this, they are really very sad indeed.
Post a message in the Creative Mac World Wide User Group.
David now works happily as a freelance 3D artist and visualiser in the UK. As a music graduate and all round Bon viveur, his breadth of creative and technical skills have turned him into an unusually well rounded individual for one who never gets out into the light of day anymore. He can be reached at [email protected]. Visit his site at http://www.todman.dircon.co.uk.
This article was reprinted with the permission of the author.