home *** CD-ROM | disk | FTP | other *** search
- Confessions of a Network Renderer
- or
- How I Learned to Love 3D Studio
-
-
- It was cold, dark, and wet. Not too unusual considering it
- was night time on the outskirts of San Francisco. I was
- still at work, late at night, alive with the sheer pleasure
- of manipulating the electronic pathways of my computer's
- network system. This was not unusual. What is unusual, is
- that late at night I lead a secret life. I am a night time
- network renderer.
-
- My name is Wendel Oliver Williams. WOW. I work for a large
- corporation that has a lot of computer resources available.
- Late at night, I run a few batch files I've created, and all
- of a sudden dozens of machines in my office all start
- working at the same time, doing my work for me. You see,
- I've been working with 3D Studio and the network rendering
- features. Here is my story.
-
-
- Networks Galore!
-
- Before you can set up network rendering for 3D Studio, you
- have to know a little bit about the type of network that you
- have. Techno-gweeb that I am, I have several different types
- of networks and I run 3D Studio on all of them. Each has
- its merits. Before I start spouting name brands at you
- however, let's start with the basics.
-
- There are really only two types of networks. Client/Server
- and Peer-to-Peer. 3D Studio works with both of these types
- of networks. A client-server network generally has each
- person on the network connected to one machine called the
- server. The server usually has a very large hard drive, and
- files and programs which need to be shared by all the
- clients (users) on the network are stored in this one
- location. Clients on the network can often talk to each
- other and send messages back and forth, but they can't share
- files and programs that are on their personal hard drives
- with each other, without first copying the files up to the
- server. One client on the network can not read a file
- directly off another client's hard drive. If you want to do
- that, you can use a peer-to-peer network.
-
- In a peer-to-peer network, you can set up a machine on the
- network to be both a client and a server at the same time.
- So if one machine on the network is set up both as a client
- and a server, other machines on the network can read files
- and programs directly off the hard drive of that computer.
- While this might on the surface appear to give you more
- freedom, it often means that there is no central location
- for shared files, and I have to go hunting through the
- various machines that are set up as servers to find what I
- want. Also, people have a bad (in my opinion) habit of
- turning off their computer before they go home or when they
- are out of the office. When the computer is turned off, I
- can't access the information stored on that computer's hard
- disk.
-
- At my office I have run 3D Studio with several networks.
- Novell (Client/Server), PC-NFS (Peer-to-Peer), Netware Lite
- (Peer-to-Peer), Workgroups for Windows (Peer-to-Peer),
- Lantastic (Peer-to-Peer) and PC/TCP (Client/Server). One
- major source of confusion is that you can have more than one
- network protocol running at the same time. So I can have a
- Client/Server network running at the same time, and over the
- same cables, as a peer-to-peer network, and have the best
- (or worst) of both worlds.
-
-
- General Set up principles...or...How to set up a Modern 3D
- Dungeon
-
- Getting 3D Studio set up for network rendering can and
- should be a fairly easy and painless procedure. If you
- follow the instructions in the Advanced User Guide [pages 20-
- 48] closely, you shouldn't have any problems. I have
- identified several pitfalls or traps that you can run into,
- however.
-
- First the basics. There are several things you need in order
- to set up network rendering. The first is a copy of 3D
- Studio. You only need one licensed copy of 3D Studio, no
- matter how many machines you plan to use for rendering. You
- will need to install the 3D Studio software on each machine
- that you are planning to use. This is not a violation of
- your license agreement. Remember, 3D Studio comes with a
- hardware lock. You need to have the hardware lock plugged
- into the machine in order for you to use the program. If you
- forget to plug this in, when you type "3DS" to start the
- program, 3D Studio will tell you "Sentinel Pro not Found"
- which means that the program couldn't find the hardware
- lock. In Release 3, however, you can now type "3DS SLAVE".
- This will start up 3D Studio and place it directly into
- "slave" mode, which is a state of readiness for network
- rendering. You do not need a hardware lock on the system to
- start up 3D Studio in slave mode.
-
- Installing 3D Studio on the local hard drive of each system
- you are going to use can be a tedious chore. What I do is
- install the software on one machine, then copy it
- temporarily up to a file server, and then back down to each
- machine on the network I am planning to use. This method
- works, but, you need to remember that each machine will not
- be set up the same, and you will still need to go around to
- each machine and re-configure 3D Studio for that particular
- environment. Items that you will need to configure will be
- the 3DS.SET file, 3DSNET.SET file, Vibrant video
- configuration, and CFIG386 configuration. We'll talk about
- each of these in just a bit.
-
- [Note: Some people have experimented with trying to
- save disk space by installing one copy of 3D Studio on
- the Network Server, and having each of the slaves
- access this copy. By specifying a separate 3DS.SET
- file for each slave, and a few other configuration
- tricks I won't tell you, you can get multiple sessions
- of 3D Studio to run from one copy stored on the
- network. However, you will take a very significant
- performance hit when you try to utilize the program. If
- you are only demonstrating that network rendering
- exists, and don't actually need to render, this
- approach might be justified. In any production
- environment, this approach would not be recommended. A
- stronger statement is needed. This approach would be
- suicidal.]
-
- The second thing you will need for network rendering is some
- central location, accessible to all the slave machines,
- where the control files for the rendering procedures will be
- stored. This applies to both Client/Server and Peer-to-
- Peer networks. On a Client/Server network, those files have
- to be placed in a directory on the network server. Each
- machine that is going to be used for rendering has to be
- logged into the network, and have read/write access to that
- specific subdirectory on the file server. On a Peer-to-Peer
- network, these files can be placed on any machine, as long
- as all the slaves, and the master machine, are attached and
- logged into that machine, and have read/write capabilities
- in that subdirectory. If you do not have supervisor (read
- that as God-like) privileges on your network system, you
- will need to get the help of your network supervisor to help
- you prepare your network for rendering.
-
- [Note: Network supervisors are very strange creatures
- that have very luckily found a very specific
- evolutionary niche in which to exist in this complex
- technological environment. Their lair or nest is often
- found cluttered ceiling high with various computers and
- other electronic paraphernalia which have been cracked
- open and scavenged for the parts which grow inside.
- They seem to exist solely on coffee and nicotine,
- although recently a group of supervisors have been
- noted to have given up nicotine in favor of oreo
- cookies. When approaching your network supervisor, I
- suggest you do this with extreme caution, and with
- either cigarettes or cookies in hand. Please remember
- to use extreme caution.]
-
- One possible pitfall at this stage is not having each
- machine on the network looking in the same subdirectory for
- the control files. The control files are created
- automatically, so if you are directing your control files to
- more than one location on the net, and are not aware of
- this, your slave machines will not be found by the machine
- that is initiating the rendering process.
-
-
- 3DSNET.SET...or...The Master's Master: the 3DSNET.SET file
-
- One of the settings in the 3DSNET.SET file tells where to
- find the network control files. This file needs to be
- configured on each workstation you have copied the 3DS
- program onto for network rendering. Most of the default
- entries in this file may be left as they are. However there
- are some settings that must be changed before network
- rendering will work properly. Let's look at some of those
- changes.
-
- NET-OWNER will be a name up to 12 characters. This is the
- name of the person or group to whom this workstation belongs
- to, and is the first part of the data used to identify each
- machine. One person could be in control of several machines,
- so this name does not need to be unique.
-
- NET-NAME is the individual name for this PC. THIS MUST BE
- UNIQUE. This is also the name that will display when you are
- choosing machines to render to, so a descriptive name might
- be in order. "486/33 in Office 23" probably makes more sense
- than "Fred's PC". This name can be up to 20 characters. [Of
- course names like Caligula and Spartacus have their merit
- too. I leave this to you, the network renderer, to make this
- artistic decision.]
-
- NET-MACHINE-ID also needs to be unique number, between 0
- and 9999. This number will help identify each machine to
- rendering control.
-
- NET-PATH is the directory where this computer looks to find
- the shared files that all computers on the network are going
- to need access to.
-
- Note: The NET-PATH variable is one that can cause
- confusion. Two different machines can be set up to
- access the same file server, but with different drive
- mappings. So for one machine M:\MMEDIA\3DSNET might be
- the path to find the shared files, while on another
- machine X:\3DSNET takes you to the same place on the
- file server. It doesn't matter that the paths are
- different for each machine, as long as they point to
- the same sub-directory on the file server.
-
- For even further confusion, drive mapping can be
- changed at the whim of whoever is at the computer. So
- if you are using someone else's computer as a slave
- machine, you might come in one day and find that what
- used to be on Drive F: is now on Drive H:. It is for
- this reason that many people create a new login name
- specifically for network rendering. Logging in under
- this new name insures that all the drive mappings will
- be set back to whatever you specify in the login
- script, temporarily clearing out any changes that the
- main user of the computer might have made during the
- course of the day.
-
- NET-LOCAL-PATH is the subdirectory on this particular
- machine where image files will be stored in on the hard
- drive, should you choose that option at rendering time.
-
- Note: Some confusing terminology has just been
- introduced. When 3D Studio talks about a LOCAL save
- for an image file, it means saving it on the hard disk
- of the machine that is doing the rendering (the slave)
- NOT the machine that started the rendering process (the
- master) . So if machine A is the master machine, and is
- set up to render to machines B,C, and D, and you choose
- to save the images to LOCAL at the time of rendering,
- you will be saving images in 3 different locations, the
- hard disks of machines B,C, and D.
-
-
- NET-SERVER-PATH is the subdirectory where files will be
- saved if you choose SERVER at the time of rendering.
- Remember, this is a path relative to the way the slave
- machine is set up, so you could have each machine saving to
- the same subdirectory on a file server, or to different sub
- directories, however you want to set it up. Usually this
- option is used to store all the images that are created from
- the multiple machines into one subdirectory.
-
- In a Peer-to-Peer network there is no central file server as
- there is in a Client/Server network. If you want to save all
- your images to one directory you need to assign a drive
- mapping from each machine that points to one central
- location on some hard disk with plenty of room. Then use
- that drive mapping as the path for the NET-SERVER-PATH. All
- the files will be saved in this common directory. Remember,
- the drive mapping for each of the slaves may be different.
- The important thing is that they all point to the same
- central location on some hard disk.
-
- 3DS.SET...or...The Master's Master's Master? This is getting
- confusing.
-
- You will also need to configure your 3DS.SET file, VIBRANT
- video configuration, and CFIG386 configuration on each slave
- station, just like an initial installation of 3D Studio.
- You'll probably have to carry your hardware lock around with
- you to configure and test everything properly.
-
- In the 3DS.SET file you might be adding a MAP-PATH that
- points to a subdirectory on the file server or a shared
- drive for maps and IPAS routines that might be needed by all
- the machines during rendering. In order to share resources
- this way, you have to be using a network protocol that has
- very good file sharing capabilities. In other words, if two
- machines make a call for the same texture map at the same
- time, the network software can handle that request by
- talking to two or more machines at the same time, with only
- one file. If your network does not have EXCELLENT file
- sharing capabilities, do not attempt this. Instead, copy the
- maps and routines that each machine will need onto their
- local hard drives. FILE SHARING ERRORS ARE ONE OF THE MOST
- COMMON REASONS FOR A FAILED NETWORK RENDERING PROCESS. Also
- in the 3DS.SET file you might need to change the location
- that temporary files are directed to. These should be
- pointed to the drive with the most free hard disk space.
-
- You will need to configure the VIBRANT video display for the
- particular machine that you are on. Slave mode of 3D Studio
- still displays the main user interface on the computer
- screen, so you have the same minimum requirements for video
- as you would if you were using this machine as a master
- station. Specifically, you need a VGA card capable of
- running 3D Studio. You reconfigure each slave by starting
- 3D Studio with the "3DS VIBCFG" command. This will take you
- to the Vibrant configuration screen. For more information on
- configuring your video display, refer to your Installation
- Guide [page 4 and pages 66-67]. Make sure you know the brand
- and make of the VGA card you are using before starting this
- option. If you don't know what video card is in the slave
- station, a useful utility to find out this information is
- MSD.EXE. This diagnostic utility will tell you information
- about your computer's configuration, and is included in
- either Windows 3.1 and DOS 6.x.
-
- If you copied your version of 3D Studio from another
- machine, you might also need to reconfigure your Phar Lap
- swap drive. The -swapdir variable tells 3D Studio where to
- write some temporary files that the memory manager will use
- when it pages out to disk. You can see where the -swapdir
- variable is currently pointing by typing "CFIG386 3DS" in
- the 3DS3 subdirectory. The list of configured switches will
- be displayed on your screen. If you need to change the swap
- drive to point to a hard disk with more free space on it,
- type "CFIG386 3DS -SWAPDIR X:" where X: represents the drive
- letter of the hard drive you want to use. You will now see
- two -SWAPDIR variables in the list. This is O.K. 3D Studio
- will use the last one that it finds. For more information
- about CFIG386, refer to the installation guide [page 9 and
- page 108].
-
-
- 9999 rendering machines on the network, 9999 rendering
- machines. If one of those machines should happen to fail,
- 9998...
-
- I've been asked, "Wendel, you have a network with hundreds
- of machines on it. Can you really have 3D Studio running on
- all those machines at the same time? The documentation says
- you can link up to 9999 machines." The answer is Yes and No.
- You can have up to 9999 machines set up on the network, but
- you shouldn't have them all working on the same job at the
- same time. The amount of network traffic going to that one
- little control file will freak out the network. So, if you
- have a thousand frame animation that you are going to
- render, and 100 machines on the network, you can set it up
- so that machines 1 through 20 render frames 1 through 200,
- machines 21 through 40 render frames 201 through 400, etc.
- Each one of these mini "network farms" would have its own
- subdirectories and net paths set up on the seperate machines
- so each set of slaves would use a unique set of network
- control files. You can link up about 20 machines on a single
- job using a client server network, and 5 machines on a
- single job using a peer-to-peer network, before the amount
- of network traffic will start to slow down the job.
-
- In all cases, you are going to want to minimize the amount
- of network traffic. By copying texture maps, IPAS routines,
- etc. down to the slave's local hard disk, you minimize the
- amount of times the computer must access the network, and
- consequently, minimize the chance of a network failure.
- This is especially true of peer-to-peer networks. Very few
- peer-to-peer networks, sometimes referred to as "lite"
- networks, were designed to handle the amount of network
- traffic that 3D Studio network rendering can generate. On
- some of these networks, you will begin to see a noticeable
- performance decrease as the amount of network traffic
- increases. To avoid this as much as possible, limit the
- amount of network traffic, as noted above.
-
-
- Using Network Rendering
-
- So now we've got our network set up. The first thing to do
- is make sure all the machines are looking in the same
- subdirectory on the network for the control files. Do this
- by going around to all the machines, and starting them in
- slave mode for 3D Studio (type "3DS SLAVE" at the DOS
- prompt). The result is that 3D Studio starts, and
- immediately flashes up a dialogue box that says "Machine in
- SLAVE mode. Press escape to cancel" (since we started from
- DOS without a hardware lock, pressing escape will take us
- back to DOS, not to the 3DS interface). Once all the
- machines are in slave mode, go to the master machine (the
- one with the hardware lock) and start 3D Studio normally. To
- see if all the machines have been recognized by the network,
- follow these steps.
-
- Select Renderer/Render View from the side menu, and pick in
- one of the viewports. It's O.K. if you don't have a model
- loaded at this time.
-
- In the Render still image dialogue box, highlight the Net
- Queue button at the bottom, then select render. If your
- display is not set up with a set resolution and aspect
- ratio, you will get a warning box that says " Render
- width/height and aspect ratio settings are blank and...".
- For this test, this is O.K. Normally, you would want to set
- a specific height and aspect ratio for rendering. Select
- Yes to continue.
-
- Since this is the first time you will be starting the
- network render features, you will get a dialogue box that
- says "MCS does not exist, create it?" This is good. Answer
- Yes.
-
- Two dialogue boxes will pop up at the same time. The one on
- top is the Network Queue Entry box. In this box should be
- the names of all the machines that are available for
- rendering at this time. Scroll through the list and see if
- all the machines you set up are there. If one or more is
- missing, that means that the NET-PATH variable in the
- 3DSNET.SET file on those machines is pointing to a different
- subdirectory than all the others. You can correct this, and
- then do these steps again to make sure it is now pointing to
- the right location.
-
-
- The Slave/Master Relationship...or...How to become a 3DS
- dominatrix
-
- I see the glint in peoples' eyes when they talk about the
- Slave/Master relationship and 3D Studio. Alas, the truth of
- the matter is not as exciting as it would sound. Being a
- slave in 3D Studio simply means that a particular computer
- is controlled in its rendering tasks by another computer on
- the network. The computer that initiates the process is
- called the Master machine. All computers that are set up to
- participate in this massive rendering effort are called
- slave machines. The fact that the computer operator is
- wearing black leather chaps and a dog collar has no bearing
- on the terminology used.
-
- Using network rendering is as easy as selecting the render
- button. One of the keys to using it effectively, however, is
- knowing how to select your machines. Your first choice when
- performing network rendering is NET QUEUE or NET ASAP. The
- NET QUEUE option will place your rendering jobs into a
- queue, or job list, in the order that they are received.
- Then as machines become available for rendering, the queue
- will start sending out files to the various machines to get
- the rendering job done. Naturally, if there are machines
- available, and you place something in the Queue, it will
- begin rendering as soon as you close the dialogue box. If
- there are no machines available, the job will just sit in
- the Queue until there are machines available, or until you
- decide to cancel the job entry.
-
- NET ASAP sends a rendering job to the next available machine
- or series of machines on the network. This will temporarily
- interrupt a job that is being read from the Net Queue, but
- it will not interrupt another NET ASAP job. So, for example,
- if you have placed a 100 frame animation in the NET QUEUE,
- and the machines on your network are currently rendering
- frames 53, 54, and 55, when you send a job to NET ASAP the
- computers will finish the frames they are currently
- rendering, and begin working on the NET ASAP job. When that
- job is complete they will return to rendering the job that
- was interrupted. As a rule of thumb, you should always
- render to NET QUEUE, so that you can interrupt that process
- and then resume it should you need to.
-
-
- Questions and Answers about Network
- Rendering...or...Everything you ever wanted to know, but were
- afraid to ask
-
- I was accosted in the elevator by a group of people wearing
- pocket protectors and forced to answer a series of questions
- about network rendering. I don't think that they were a
- bonafide street gang, just a group who took its networking
- seriously. That's one dangerous email group.
-
-
- The first time I started the network Queue, It told me "MCS
- does not exist, create it?" I said yes, but what was that?
-
- The first time you start the network rendering queue, the
- control files that are needed to perform the network
- functions do not yet exist. When you said yes, the necessary
- control files for network rendering were created in the
- directory which you have specified as your network path.
- Incidentally, MCS stands for MASTER CONTROL SCRIPT file.
-
- If you ever see this message again, then something might
- have gone wrong (unless you are setting up an entirely new
- network configuration, of course). If you see this message,
- that means that the machine you are using does not have
- access to the control files that have already been set up.
- This might mean that you forgot to log on to the network, or
- that the files have been moved or erased. If this happens,
- that is OK, you just have to make sure, again, that all the
- slave machines and the master machine are pointing to the
- same subdirectory on the Server as your network path.
- Otherwise, some of your slave machines will not be
- accessible to the master machine for rendering.
-
- By the way, if you ever try to access the MCS and your
- machine crashes or you get an error message, it is possible
- that the file on the network has gotten corrupted. It is
- O.K. at any time to delete all the control files that are
- stored on the network file server. So, just delete
- everything in that subdirectory on the file server and start
- 3DS again. when you access the network queue, it will give
- you the MCS does not exist message again, as if this was the
- first time.
-
-
- What is the difference between ANY or ALL?
-
- Selecting the ALL switch at the bottom of the Network Queue
- Entry dialogue box will mark all the machines that are
- currently available for rendering as machines that you want
- to use for the project you are rendering. You can also
- deselect a machine that you don't want included in this
- list. When you select render, those selected machines will
- begin working on your rendering project.
-
- Selecting <ANY> from inside the dialogue box's list window
- is your way of saying "Use any machine that is now available
- or might become available in the future for my rendering
- project". So if you have 5 machines in the list, and you
- select <ANY>, those 5 machines will begin rendering. Then,
- later if you place a 6th and 7th machine into slave mode,
- those machines will join into the rendering process already
- in progress, so all 7 machines will be working on the one
- project. (This is different from ALL. If you add machines
- when you selected ALL, the new machines will not begin
- rendering the job that is already in progress.)
-
- You can also deselect machines from the <ANY> process. This
- would be saying: "Use any machine that is now available or
- might become available in the future for my rendering
- project, except the ones I just marked".
-
-
- Why would I want to exclude a machine from my network
- rendering?
-
- The most common reason would be that you know you will need
- that particular machine before the network job will probably
- be finished. If you take that particular machine out of
- slave mode before the job is finished, then the frame of the
- animation that machine was working on will not be rendered.
- This means you will have to figure out which frame it was,
- and then re-render just that one frame to complete your
- animation.
-
- Another possibility is that one of the machines is much
- slower than the others on the list. If it might take longer
- for that one machine to render one frame than it does for
- another machine to render several, you might find yourself
- waiting at the end for this one slow machine to finish its
- single rendering when all the other machines had finished
- some time ago. (As a general rule of thumb, slave machines
- on your rendering network should be just as robust as your
- regular 3DS machines. This means as much RAM and hard disk
- space as possible. Using your secretary's 386/20 with the 40
- meg hard drive when they go home at night would probably not
- be a good idea for network rendering.)
-
-
- How do I get my master machine to render as a slave as well?
-
- Once you initiate a network rendering job, the Network
- control files take over. The master machine is no longer a
- part of the process. So if you had selected <ANY> as your
- machines that you are rendering to, putting your master
- machine into slave mode afterwards will make it available
- for the rendering process in progress.
-
-
- Can I set up network rendering to run as a background
- process when I'm running 3DS under windows?
-
- You might be able to get it to work with enough fiddling,
- but I sure wouldn't recommend it. Even under the best of
- circumstances, Windows is not considered adequate for a
- production environment. Also, in most cases applications
- that are running in a DOS window are halted when they are
- sent to the background. This is a setting you can change,
- but depending on the application, you will be taking so many
- resources away from Windows, or vice versa, that background
- "multitasking" doesn't ever really work too well with
- powerful applications.
-
-
- What's the difference between the "LOCAL", "SERVER", and
- "CUSTOM PATH" file output settings?
-
- These are the three different ways you can tell 3DS slave
- machines to save files in particular locations. The first
- one, LOCAL, says to save the file to the local hard drive.
- ***WARNING-DANGER WILL ROBINSON!*** This means local to the
- machine that is performing the rendering. That means on the
- hard disk of the slave machine - NOT - the hard disk of the
- machine that you are working on. If you are rendering to 5
- slave machines, and you select LOCAL file output, you will
- be saving files in 5 separate locations, none of which are
- on the machine you are using right now (unless you select
- <ANY> and then throw this machine into slave mode as well).
-
- Choosing SERVER will send files to the subdirectory listed
- under the SERVER-OUTPUT- PATH in the 3DSNET.SET file or the
- Network Parameters (Configure) dialogue box. Usually this
- will be the same subdirectory on all the slave machines. For
- example, all the machines would have SERVER:\3DSNET\IMAGES
- on the file server listed as their output path. Remember,
- however, that you could have machines sending files to
- different locations with this option as well. If the
- settings in one 3DSNET.SET file are different from the
- settings in another, you will be sending files to two
- separate locations, even though you chose SERVER.
-
- CUSTOM-PATH file output is just that. You type the path that
- you want your images to be placed in. Again, you have to
- remember that it is the path as the slave machine sees it.
- So if you type C:\PROJECT1\PICTURES as your custom path,
- each of your slave machines must have this path available on
- its hard drive, and you will be saving your files to your
- individual slave machines' C:\ drive, not in one central
- location.
-
-
- So how do I save files in one central location? And can I
- ever save them on the MASTER machine's hard disk?
-
- If you are using a Client/Server network, the only central
- location where you can store your files is on the server
- itself. Choose SERVER as your output file destination. Make
- sure that the SERVER-OUTPUT-PATH is pointing to the same
- subdirectory on the server for each of your slave machines.
- With a Client/Server network, there is no way to save all
- your files centrally on the MASTER machine's hard disk.
-
- If you are using a Peer-to-Peer network, you can save all
- your files in one central location on whichever machine has
- the most disk space, or on the master machine, or wherever
- you like. You will accomplish this using drive mappings and
- using the LOCAL option to save your files. One of the
- things Peer-to-Peer networks do is link hard drives
- together. So you can set up a drive mapping that says the
- hard drive on machine A is accessible to machine B as drive
- letter F: (Are you confused yet? The person at machine B
- will be able to read files, save files, run programs, etc.
- directly off the hard disk of Machine A. Neat, huh?)
-
- Let's look at a specific example. Machine A has a directory
- on its C: drive called C:\PROJECT1\IMAGES. You can now go
- around to all the slave machines and map Drive F: equal to
- the C:\PROJECT1\IMAGES directory on the master machine.
- While you're there, change the NET-LOCAL-PATH parameter in
- the 3DSNET.SET file to F:\ (Yes, smart alecks, you could
- also use custom path to do this from the master machine, and
- you wouldn't need to edit the .SET file. But this change
- would not be permanent.) Now when you render and select the
- LOCAL option (or CUSTOM, if you set it up that way), each
- machine will save the image files to its own local F:
- drive...which just happens to be C:\PROJECT1\IMAGES on the
- master machine!
-
-
- When I render, I get an error message box that says
- "Warning: Render width, height and/or aspect ratio are blank
- and network output is selected. Depending on the....". What
- does that mean?
-
- This means that in the render setup for the master machine,
- you didn't select a SPECIFIC resolution and aspect ratio in
- the DEVICE CONFIGURATION dialogue box. (You get that box by
- selecting Configure... from the Render Screen or
- Renderer\Setup\Configure from the side menus.) Not selecting
- a resolution means use the defaults that are set up for the
- video board in the machine doing the rendering. Now, you may
- know that this means 640x480 (or whatever) and that it will
- come up correctly on your machine, but other machines on the
- network might be set up differently. The default on another
- machine might be 320x200. When you tried to put these frames
- together into an animation, they would be a different size
- and aspect ratio. It just won't work. So specify a specific
- resolution and aspect ratio, even if the machine you are
- working on is already set up for the resolution that you
- like. It will guarantee that all the machines on the network
- render files in exactly the same format, resolution, and
- aspect ratio.
-
-
- My aspect ratio and resolution are set up properly, but the
- images still look different from machine to machine. What
- else can change?
-
- Check the GAMMA correction values on each slave machine.
-
-
- When I try to render a Flic file using network rendering,
- only one of my slaves is activated. How can I split up the
- rendering of a Flic file over several machines?
-
- An FLC or FLI file is only one file when it is done. Thus
- only one machine can be working on it at a time. If you want
- to use more than one machine to render a Flic file, you can
- do this by setting up the Render Configure options to render
- to sequential GIF files. You will give up to a four letter
- beginning for the file names, and 3DS will fill in 0000,
- 0001, 0002, etc. for the rest of the name on each sequential
- file. In other words, the file name TEST* will produce
- TEST0000.GIF, TEST0001.GIF, TEST0002.GIF, etc. Once all the
- frames are rendered individually, you can copy them all to a
- single directory and compile them into a Flic file.
-
- There are two ways to make the Flic file once you have these
- images, using either Animator Pro, or 3D Studio. The easiest
- way is to use Animator Pro. Use the NUMPIC utility in the
- POCO pull down menu. Choose the "LOAD PICS AS FLIC" option
- to make a Flic file. If you don't have AAPRO, you can
- accomplish the same thing in Video Post. Start a new 3DS
- project, and move right into the Keyframer module. Select
- Renderer\Video Post from the menu, and click on the active
- viewport. Make sure the ADD button is highlighted, and click
- once in the Queue column. You should see [KF Scene] appear.
- Highlight the EDIT button, and then click on the words [KF
- Scene]. The Queue Entry dialogue box will appear. Highlight
- BITMAP and then click on the box just to the right of that
- button. A file selection box will appear. Type in the first
- four letters of the files you created followed by an *,
- then the extension (i.e. REND*.GIF) and select OK. The
- bitmap name (with the *) should now appear in the box next
- to the BITMAP button. Select OK and in the Video Post
- dialogue box, select RENDER. You will now get the familiar
- Render dialogue box. Make sure you are configured for FLIC
- as your output file type and hit the RENDER button on the
- bottom of the screen. When finished, you will have a flic
- file from the original GIF files. You can now delete those
- GIF files. (Check to make sure it worked first, though.)
-
- Alternatively, to render a flic over several slave stations,
- you can render your animation in ranges, and send each range
- to a specific slave. In a 500 frame animation, for example,
- send frames 1-100 to slave #1, frames 101-200 to slave #2,
- etc. Each of these entries would be a separate job in the
- network queue. You will then need to splice the five
- resulting flic files together using either Animator Pro or
- Video Post in 3D Studio.
-
-
- Do I need to install the entire 3D Studio and all it's
- support files?
-
- No. You can delete any files that are not going to be used.
- This would include texture maps, materials libraries, sample
- meshes, project files, etc. For the bare bones, absolute
- minimum 3D Studio installation, you would need these files:
-
- 3DS.EXE
- 3DS.RES
- 3DS.SET
- 3DSNET.SET
- VG920922.RLM
- VIB3DS.VLM
- VIBRANT.RES
-
-
-
- When bad things happen to good networks
-
- Sure this all sounds great. Of course I visited a friend of
- mine who was trying to get his network up and running, and
- over the course of the night he had pulled out most of his
- hair. He started out with hair that looked like Mel
- Gibson's, but by the end of the night he looked more like
- Mel Blanc. Following are some questions and answers I've
- heard that might help you troubleshoot when problems arise.
-
-
- What causes a machine to fail?
-
- Assume that the network is up and running properly. I know
- that is a big assumption on my part, but let's just pretend,
- shall we? Assuming the network is up and running properly,
- and all the machines are in slave mode and accessing the
- same control files, there are really only two reasons that
- an individual slave or node on the network will fail during
- the rendering process. The first is that the slave machine
- asked for a resource of some type and didn't receive it, and
- the second is that the MCS sent a request to the slave but
- couldn't find that computer on the net.
-
-
- So...the slave would like a drink of water?
-
- Yes, slaves make requests. They request files from the
- network, they request texture maps, they request IPAS
- routines, and more. All of these resources need to be
- available to the slave machine in order for it to render
- properly. This means for texture maps, you need to have a
- directory for your texture maps in the MAP PATH of every
- slave machine, not just the master machine. If you call an
- IPAS routine, that routine has to be in the PROCESS
- subdirectory, or wherever you point to it in the 3DS.SET
- file. In other words, everything needs to be accessible to
- the slave machine as if it were the only machine doing this
- rendering.
-
- The other thing to be careful about is shared files. Even if
- you place all your MAP files in a subdirectory on your
- server, and all your slave machines have that directory in
- their map paths, they still might not be able to find the
- file. This is because of the limited file sharing
- capabilities of many networks. If two slave machines ask
- for the same file at the same time, unless you have some
- pretty sophisticated networking software which allows
- simultaneous file access, one of those machines will fail at
- that point. Some network software can handle this scenario
- with no problem, some network software also requires you to
- load the DOS SHARE.EXE program, and some network software
- will just never be up to the task. They will all SAY that
- they can do it. Perhaps if we were sharing spreadsheets or
- word-processing documents we wouldn't have problems, but we
- are dealing with massive files that need to be handed to
- these slave machines with split-second timing.
-
- Bottom line, if you have a machine that is failing, watch it
- as it tries to render. If it crashes when it is loading
- materials, or trying to load an IPAS routine, then copy all
- those files to the local hard disk and try again. Make sure
- you copy all the needed files. If it is looking for a file
- that it cannot find, you can watch and see just when the
- system fails. Chances are you missed a file that needed to
- be in a MAP PATH.
-
- Another way to help diagnose why your network rendering
- projects might be failing is to look at the log file that is
- generated with each process in the Network Queue Control
- dialogue box. Select VIEW LOG at the bottom of this dialogue
- box, and then highlight the process name in the Control box.
- Remember, when you delete a process from the control box,
- you delete the log file as well. If you want to save the
- log, you must select the SAVE option in the VIEW LOG screen
- to save the log as another file, before you delete the
- process from the Queue Control dialogue box.
-
-
- Did someone say split-second timing...
-
- Yes I did. It bears repeating. Network rendering requires
- split-second timing in order to work. This means your
- network software needs to be up to the task of distributing
- files when they are requested. If it is not, then you had
- better copy those files to the local machine's hard drive.
-
- There is another point where timing is crucial. Each of the
- machines on your network needs to be synchronized for date
- and time. If one machine says it is 3 in the afternoon, and
- another thinks it's 10 in the morning, problems can arise
- (it's the same way with your co-workers). On most networks
- the "window" or margin of error that you can be off from one
- machine to the next is less than 10 seconds. However, on
- some of the peer-to-peer networks, like Lantastic, if any
- machine is more than one second out of sync, problems may
- start to crop up. Most networks have a tool that will sync
- the date and time of your workstation to that of the server.
- On some networks this happens automatically whenever you
- login. On others there are commands that need to be run in
- order to accomplish this. Many users prefer to place these
- synchronization commands in a batch file or login script
- that is used to start the slave machine.
- This way as soon as they login to the network they are
- automatically re-synced to the network clock. Whatever the
- case on your particular network....SYNCHRONIZE! (Wow, I be
- hypnotized, then synchronized. )
-
-
-
- Conclusion
-
- This is intended to be a living document, so any feedback
- that I get will be included in future releases of this
- paper. Since I am trying to remain somewhat anonymous,
- please address your comments through: Brian Rudolph on
- Compuserve Information Service (71722,170); or:
-
- Autodesk Inc.
- Product Support
- 2320 Marinship Way
- Sausalito, CA 94965
-
-
- Sincerely,
-
- Wendel Oliver Williams
- WOW/BR
-