NET Render
NET Render Programming Team Christian Losch, Philip Losch, Richard Kurz, Tilo Kühn, Thomas Kunert, David O’Reilly, Cathleen Poppe. Plugin Programming Sven Behne, Wilfried Behne, Michael Breitzke, Kiril Dinev, Per-Anders Edwards, David Farmer, Jamie Halmick, Richard Hintzenstern, Jan Eric Hoffmann, Eduardo Olivares, Nina Ivanova, Markus Jakubietz, Eric Sommerlade, Hendrik Steffen, Jens Uhlig, Michael Welter, Thomas Zeier. Product Manager Marco Tillmann. QA Manager Björn Marl.
MAXON Computer End User License Agreement NOTICE TO USER WITH THE INSTALLATION OF NET RENDER (THE “SOFTWARE”) A CONTRACT IS CONCLUDED BETWEEN YOU (“YOU” OR THE “USER”) AND MAXON COMPUTER GMBH ( THE “LICENSOR”), A COMPANY UNDER GERMAN LAW WITH RESIDENCE IN FRIEDRICHSDORF, GERMANY. WHEREAS BY USING AND/OR INSTALLING THE SOFTWARE YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. IN THE CASE OF NON-ACCEPTANCE OF THIS LICENSE YOU ARE NOT PERMITTED TO INSTALL THE SOFTWARE.
. Transfer (1) You may not rent, lease, sublicense or lend the Software or documentation.
which the date of the purchase according to the invoice is decisive). The Licensor is free to cure the defects by free repair or provision of a faultless update. (2) The Licensor and its suppliers do not and cannot warrant the performance and the results you may obtain by using the Software or documentation. The foregoing states the sole and exclusive remedies for the Licensor’s or its suppliers’ breach of warranty, except for the foregoing limited warranty.
12. Other (1) This contract includes all rights and obligations of the parties. There are no other agreements. Any changes or alterations of this agreement have to be performed in writing with reference to this agreement and have to be signed by both contracting parties. This also applies to the agreement on abolition of the written form. (2) This agreement is governed by German law. Place of jurisdiction is the competent court in Frankfurt am Main.
Contents 1 Introduction .......................................................................................................1 Terminology...................................................................................................................................... 2 Requirements.................................................................................................................................... 3 A few words on networks ................................................................
Render Queue ............................................................................................................................ 33 Inactive Jobs .............................................................................................................................. 34 Create New Job.......................................................................................................................... 35 Details Page ..........................................................................
Miscellaneous notes ....................................................................................................................... 74 Limitations ...................................................................................................................................... 74 Index....................................................................................................................
INTRODUCTION • 1 1 Introduction Networks … the final frontier … processing power at your fingertips to take your breath away! CINEMA 4D NET Render answers the needs of today’s professional media production industry by providing tools that enable the highest quality computer-generated 3D graphics and animation to be created on demand and to be delivered in time. Time and cost are prime considerations in the professional market.
2 • INTRODUCTION In contrast to the clients, the server application is not free. Distributing the server is illegal (see the End User License Agreement). When the time comes you will find updates and additional clients for other operating systems on our web site (www.maxon.net) in the future. Checking this site on a regular basis is therefore suggested.
INTRODUCTION • 3 The terminology does not consider detailed network structure. This information is not necessary for the operation of CINEMA 4D NET Render. Requirements • functional TCP/IP network • computer with a static TCP/IP address to host the C4DN server • Internet browser (e.g. Opera, Microsoft Internet Explorer) • operating system: – Mac OS X 10.3.
2 Installation
INSTALLATION • 7 2 Installation and configuration Installing and configuring the C4DN server 1. Decide which computer will act as the CINEMA 4D NET Render server — this does not have to be the fastest machine available. Determine the (internal) IP address for this computer and make a note of it. This computer must have a static TCP/IP address.
8 • INSTALLATION Installing and configuring the C4DN clients 1. Place the appropriate CD into the CD drive of a computer that will act as a client. 2. Start the installer from the CD. Choose ‘NET Render Client’ and follow the on-screen instructions. 3. Start the C4DN client and select Network Settings... from the File menu. 4. Enter the TCP/IP address (see note above) of the server (the computer which hosts the C4DN server) alongside Server address, for example Server address=192.168.0.227 5.
INSTALLATION • 9 Starting the client server system 1. Start the C4DN server. A console window appears. 2. Start the C4DN client on all the computers you wish to use. Again, a console window appears. This process can be carried out automatically when the computer is started. For Mac OS, place an alias to the C4DN client in System Folder / Startup Items. For Windows, place a shortcut to the C4DN client in your local Start Menu / Programs / Startup folder. 3.
10 • INSTALLATION In the dialog window, enter the project name under Filename (Windows) or Save as (Macintosh). A folder of the same name will be created in the location selected (see below). This is the location where CINEMA 4D saves all files relating to the project (scenes, textures, shaders, films, etc.). The project name is used later for identifying your render job. Hence you should choose a clear, meaningful name.
INSTALLATION • 11 Using heterogeneous networks A so-called heterogeneous network is made up of computers that do not all use the same operating system. For example, MAXON Computer’s network includes computers running Windows, Macintosh and so on. Quite a mixture! Exactly how all these computers manage to communicate with each other is not of interest to us. What does concern us is that there is a computer, known as a file server, where all the other computers can store their data.
3 How To...
HOW TO... • 15 3 How to … How to render a scene across the network You’ve prepared the job, you’ve started the C4DN server and the C4DN clients and now you’re ready to render across the network. When the C4DN server and a C4DN client are started, they have a chat. The client learns where to leave its results and the server knows who it can allocate work to. 1. Start the Internet browser for your operating system. 2.
16 • HOW TO... A table appears which lists all your projects in the user folder on the C4DN server. Within the individual columns of the table you will find information about the job name and its current status (State). Your previously uploaded job (see Creating projects) should appear in the Inactive Jobs list. 4. Click on Start (under Command) in the appropriate line of your job. The job moves to the Render Queue list. The C4DN server then automatically starts the rendering.
HOW TO... • 17 How to render a still image across the network Net Render allows you to render not only animations over the network but also still images. The still image will be broken up into a number of tiles — either 9 or 25 depending on which option you choose (more about this later). You might find it helpful to think of each tile as being one jigsaw piece that makes up part of the picture. The tiles will be distributed over the network and rendered.
18 • HOW TO... How to monitor the render job You can watch the progress of your jobs if you look at the Progress column because this page has an automatic refresh. As soon as the job is complete (progress = 100%) it automatically moves from the Render Queue back to the Inactive Jobs list. Now you can download the rendered data (see below). The browser does not have to be open throughout the render process. It is used solely for controlling jobs. The render process runs independently once started.
HOW TO... • 19 You can use the Result Files list to load individual files onto your computer or to delete files from the results folder. To download a file or delete a file, click on the required file in the list, then click on either the Download button or the Delete button respectively. When you click on the Download button, two things can happen. Either the chosen file will be downloaded immediately or (by default) a new Download page will open up.
20 • HOW TO... How to troubleshoot when there are no results Presumably there were problems during the render phase. It’s time to look for the causes. 1. Start your Internet browser and go to the Jobs page. 2. Check to see if your job is still in the Render Queue. In this case the job is still running and not yet finished. If the job seems to be taking longer to net render than it should, perhaps a colleague with higher priority has pushed a job to the front of the queue ahead of your job.
HOW TO... • 21 3. Click on Upload. A new page appears. This enables you to upload up to 10 files to your project folder. 4. Click on the Browse button and use the dialog window to select the required file. Confirm your selection by clicking on OK. The file that you selected appears in the text box next to the Browse button. 5. Repeat step 4 until all the files to be uploaded are selected. 6. Click on the Upload button. The files will now be uploaded into the job folder on the server.
22 • HOW TO... How to work with job priorities Suppose that the situation is as follows: you’ve prepared a project and now you want to render a preview. You’ve uploaded everything to the server (e.g. with the name Urgent), but you’ve just noticed that five other previously uploaded jobs are already waiting to be rendered … You need to jump the queue so that you get the preview back today. You need to move your job to a higher position in the list. 1. Go to the Jobs page. You can see the Render Queue.
HOW TO... • 23 3. Keep clicking on the arrow that points up until your job reaches the required position. The job that was being rendered before the priorities were changed will be stopped as soon as the new project gets a higher priority. All its clients will stop rendering and every frame in process will be aborted (for now). When the new, high priority, job is finished, the clients will continue with the previous job. Not a single frame will be lost.
24 • HOW TO... How to work dynamically with clients Imagine you started several render jobs over the weekend that use all of the computers in your firm’s network. Monday morning arrives, but the rendering is still in progress. A colleague needs his or her computer back! Although your colleague could use the computer even while it renders (other applications can run parallel to the render task), rendering is a processor-intensive task.
HOW TO... • 25 A C4DN client is no longer present. If a client is removed suddenly, the frame that the client was rendering is lost. However, the server will recognize that the client has been lost and that the client is unable to finish rendering the frames it was allocated. The server then distributes the task of rendering these frames to other clients. The end result is that not a single frame is missing from the animation.
26 • HOW TO... How to administer clients Clicking on Clients takes you into the client control. Depending on your access rights you will see all clients (administrator) or only some of them. Perhaps surprisingly, the main use of the client control is to monitor all the computers working on the render job. In terms of administration, there is little to be controlled here. But this page is very useful to see live what is happening in the network and how fast the clients are.
HOW TO... • 27 You can change the graphical elements or place additional elements. Also you can use frames. But you have to take care of the following. At some places in the HTML code there are variables hidden in comments. CINEMA 4D NET Render replaces them automatically with the appropriate data when the page is accessed.
4 Reference
REFERENCE • 31 4 Reference As previously mentioned, CINEMA 4D NET Render is controlled via HTML. One advantage of using HTML is that it is platform-independent. A further advantage is that HTML makes it possible to access the render network from home (or from anywhere else in the world, for that matter) via the Internet. In the previous chapter we introduced you to the functionality and operation of CINEMA 4D NET Render with the help of case scenarios.
32 • REFERENCE Welcome Page You will see this page every time you access the server for the first time. If you find this page annoying just use bookmarks to jump directly to one of the child pages. If you click on the ABOUT link you will see copyright information for CINEMA 4D NET Render and MAXON Computer's address. To login to the server, either click on the CINEMA 4D NET Render logo (the ball in the center of the page) or click on the ENTER link.
REFERENCE • 33 Jobs Page Here you can control all the jobs waiting to be rendered. Among other things, the Jobs page can be used to add new jobs manually, allocate priorities or have a specific job displayed. This page will be refreshed automatically after some seconds (see The configuration file for details). In the upper part detailed information about the project is shown. Render Queue The table shows a list of all jobs on the server that are currently being rendered or waiting.
34 • REFERENCE If you move a job that is currently being rendered (the one with State set to running) down, the rendering will stop immediately. All frames currently being rendered by clients will be lost. But of course all previous finished frames are kept. If the rendering starts again (either because of a changed priority or because it moves to the top of the queue) only the missing frames will be rendered. Name defines the name of the job.
REFERENCE • 35 Click on Clear to kill all previous rendered frames. This is useful when the job had an error while rendering or if you want to re-render the scene with modified render settings. If you click on Delete you will physically remove a job from the server. In this case all scene data (scene, textures, etc.) and all rendered results will be deleted irretrievably. Of course you will be given the chance to change your mind first.
36 • REFERENCE Details Page Clicking on a job name in the job list (see above) takes you into the job control. This is where you can control a specific job. Among other things you can monitor the render progress, transfer files individually or, in the case of an error, check the error message to find the cause. Detailed information about the job is shown at the top of the page. Project Files This list will show you all files on the server that belong to the job. To look at or save a file (e.g.
REFERENCE • 37 Result Files All rendered frames are collected by the server and will be displayed here. Since this page does not do an automatic refresh you should click on Refresh/Reload from time to time to see the actual list of files. To look at or save a rendered frame, select the entry in the list (hold down the left mouse button and click on the name) and then click on the Download button. When you click on the Download button, two things can happen.
38 • REFERENCE Upload Page This page lets you transfer up to ten files at a time to the current job. This is useful, for example, if you have forgotten a texture or if you have edited the scene since last uploading it. If you are accessing the server over the Internet this is the only way to send data to the server. You can select a file in one of two ways: 1. Enter the location and the filename directly in the text field. 2. Click on the Browse button. A file selection window opens.
REFERENCE • 39 Download Page During our work with the many different Internet browsers, we’ve learned that some programs do not adhere too closely to the defined HTML standards; for example, when downloading files from lists. Sometimes it works with one or the other browser, sometimes it works with one or the other operating system. Because of this behavior we’ve defined a special variable in the server.ini file (see appendices).
40 • REFERENCE Clients Page This page contains detailed information about the clients installed in the render network. As with the Jobs page the administrator sees all clients but a normal user sees only the clients he is allowed to use. This page will be refreshed automatically after some seconds (see The configuration file for details). No. is a number that was assigned automatically to the client (the client started first gets number 1 and so on). Client contains the client’s TCP/IP address.
REFERENCE • 41 Job Owner specifies the name of the user who controls the job. To Do specifies the range of frames that the C4DN server has asked the C4DN client to render. Frame is the number of the frame that the client is currently rendering. Image shows you an image of the frame that the client is rendering. This preview is updated at regular, frequent intervals rather than constantly, in order to reduce the strain on the network.
42 • REFERENCE Users Page Only if you have administrator status can you go to the Users page. There you will see all configured users in a list. The list also displays additional information such as passwords and priorities. To create a new user, first enter his or her name into the text field below the users list (to the left of Create New User). Make sure that this name is unique (not already a known user). Then click on the Create New User button.
REFERENCE • 43 Administrator Shows if the user has extended rights (yes—checked) (e.g. for deleting other users) or if she is just a normal user (no—unchecked). Password You should always use a unique password and communicate it to the user using a safe method (verbally, by FAX, encrypted email). Priority Here you can give users different priorities according to how quickly their jobs should move to the front of the queue (do not confuse this with the priority of user jobs).
44 • REFERENCE Console Window This window appears when starting CINEMA 4D NET Render. From the File menu you can edit your Network Settings and view the installed plugins. In the window you can see several messages; for example, the progress of the actual scene the user is rendering. It is used mainly for checking if the program is running after an installation. In general you should use your web browser for checking the jobs and clients because it is much easier and you can see more information.
5 Appendices
APPENDICES • 47 5 Appendices The configuration files These important files named server.ini or client.ini are for manually configuring CINEMA 4D NET Render. For the server the file may contain additional data about all configured users. The configuration files are ASCII text files and can be opened easily with any text editor. Do not use an office application like Word because it normally destroys the original file by converting it into its own file format.
48 • APPENDICES browsertype = 0 ; User Management [admin] name password info priority = = = = [user] name password info priority = Guest = = "Test Account" = 0 [user] name password info priority = = = = Administrator Hello_Password "Programmer" 100 pablo_picasso paloma "Artist" 50 In this example there are multiple sections. You can see that there is an administrator account as well as two additional user accounts with the name Guest and pablo_picasso.
APPENDICES • 49 Sections and Variables of the client.ini File [settings] (Client network settings) Section In this section you can specify the TCP/IP information. serveraddress (Server address) – Specifies the TCP/IP address of the computer running the C4DN server so the client knows where the server is located. This is normally the only value you have to configure manually. serverport (Server port) – Specifies the port number of the computer running the C4DN server. A default of 8080 is used.
50 • APPENDICES Sections and Variables of the server.ini File [settings] (Server network settings) Section In this section you can specify the TCP/IP information. serveraddress (TCP/IP address) – Specifies the TCP/IP address on which the C4DN server listens. Normally it reacts to messages from all addresses. Therefore the default value is 0 (=all addresses). But if the computer has multiple TCP/IP addresses you can assign a specific one. The C4DN server then ignores messages from other addresses.
APPENDICES • 51 browsertype (Browser supports direct image download) – This variable can have two values. If it is set to 0 (the default), when you click on the download button on a job’s details page, a separate download page appears. If it is set to 1, all files will be downloaded into the browser directly from the result files list. It is recommended that you set this variable to 1 only if you are not working with Microsoft’s Internet Explorer.
52 • APPENDICES Using Plugins and Modules In contrast to textures and shaders, plugins and modules are not automatically distributed to the clients. So if a scene needs a special plugin or module you have to install this plugin or module manually on all clients. For each client make a new plugins or modules folder in the client folder and copy the plugin or module into the appropriate folder.
APPENDICES • 53 IP Addressing An IP address is a 32-bit number stored in four bytes (4 * 1 byte = 4 * 8 bits = 32 bits). It is usually displayed as four decimal numbers separated by periods (full stops). Each of the values can, in theory, hold a value between 0 and 255 inclusive. The numbers 0 and 255 are generally reserved for special purposes, so all in all, 254 values are available.
54 • APPENDICES Two computers can only have several conversations at once if each conversation has its own port number (the port number is included in the TCP packets). Without ports you wouldn’t be able to have an FTP download running on your machine at the same time you browse the web via HTTP. Some port numbers are reserved for specific uses. These port numbers are often termed wellknown ports. Some of the well-known ports are listed in the table below.
APPENDICES • 55 Installing and Configuring a TCP/IP Network Although CINEMA 4D NET Render is straightforward to install, the reality is that some users will not be able to set up CINEMA 4D NET Render by themselves. This will probably have nothing to do with CINEMA 4D NET Render — setting up TCP/IP is not easy. In order to give you some assistance in this difficult area, here is an attempt at a very basic rundown of creating a TCP/IP Ethernet based network that doesn’t connect to the Internet.
56 • APPENDICES Firstly, check use the following IP address. Then set the IP address to 192.168.0.x where ‘x’ is the number of the machine you’re working at. You wrote the number down earlier, didn’t you? Set the subnet mask to 255.255.255.0. Click on OK until you’re back on your Windows desktop. Configuring TCP/IP under Mac OS Mac OS X On Mac OS X go to the System Preferences and select Network. In the Network preferences choose show: Built-in Ethernet. Below, choose Configure Manually.
APPENDICES • 57 Support What if neither the manual nor your own tests can resolve a problem? It is time to contact the Technical Support department. MAXON Computer is more than happy to help you solve your difficulties. We would like to help you as effectively as possible, so please try to follow these guidelines: • Please contact MAXON Computer in writing, preferably by email.
58 • APPENDICES • Please include specific details on the procedure you have tried (but please don’t write a ten-page novel — it has been done!). I created an object and then I went into the raytracer and … (see above). • Please include rendered pictures and/or screen shots if they help to demonstrate the problem. • Please describe which settings you used in any relevant settings windows. • Please tell us which programs or system extensions you have running at the same time as CINEMA 4D.
APPENDICES • 59 Glossary 42 1. The extension for the MAXON Computer GmbH Technical Support hot line; 2. The answer to all questions. application Another name for program. browser 1. A program for controlling and viewing files; 2. A program that displays HTML pages or accesses the Internet. C4DN CINEMA 4D NET Render. C4DN client CINEMA 4D NET Render client program — renders frames. C4DN server CINEMA 4D NET Render server program — controls and distributes the render jobs.
60 • APPENDICES home page The page you are meant to see first when accessing a website. The home page usually has links to other pages on the same website. HTML HyperText Markup Language. The language in which web pages are written. HTML documents can include texts, pictures and even links to other websites. HTML browser See web browser. HTML file A text file containing HTML data. You can load and view HTML files in a web browser. HTTP HyperText Transfer Protocol.
APPENDICES • 61 proxy A server that stores commonly accessed data. This enables you to access that data more quickly than by accessing the computer where the original data is stored. server Computer on which the C4DN server was started (not to be confused with the network’s file server). Generally, a computer that processes the information from clients and distributes these tasks. socket 1. Combination of an IP address and a port number; 2. Programming concept. TCP Transmission Control Protocol.
6 Troubleshooting
TROUBLESHOOTING • 65 6 Troubleshooting No connection to server If you have managed to install CINEMA 4D NET Render without a single problem, give yourself a pat on the back! What in theory sounds very simple (If the network functions, CINEMA 4D NET Render works) is in practice not always so. There are mountains of literature dedicated to solving network problems. Take a trip to your local bookstore if you need convincing.
66 • TROUBLESHOOTING If you have defined a port other than 8080 for CINEMA 4D NET Render, you must also enter the socket into the Location box in the browser. For example, if you are using port 3128 you should enter the following into the Location bar: 192.168.0.239:3128 You can bookmark this address to save you having to constantly enter the new socket.
TROUBLESHOOTING • 67 Firewall issues / access denied messages If you get ‘access denied’ messages after clicking Start in the server to distribute the files, perhaps a firewall issue is to blame. Administering firewalls is beyond the scope of this manual as well as beyond the scope of our technical support services. However, you may find the following general advice helpful. If you are still unable to resolve a firewall issue, please consult your system administrator. There are two solutions: 1.
68 • TROUBLESHOOTING Example firewall settings for the Mac. Troubles caused by ISDN cards and Internet software One possible cause in particular is often overlooked, catching users out because something has been changed subtly. Some ISDN cards or Internet access programs install their own versions of the Winsock DLLs . Some of these may be less than 100% compatible to those provided by Microsoft.
TROUBLESHOOTING • 69 If at last you get a connection in the C4D network, try reinstalling the add-on cards one at a time in their order of importance (using the latest drivers, of course). If the connection fails after installing one of these cards, please contact the hardware manufacturer of the card. If the hardware is fine, continue to install the software (e.g. Internet access programs). Once again, install the programs one by one and keep testing as you go.
70 • TROUBLESHOOTING An example of dynamic addressing running Mac OS. An example of a static addressing running Mac OS.
TROUBLESHOOTING • 71 Inaccurate calculations One common feature of heterogeneous networks is that they usually involve computers with FPUs (floating point units) that work to varying degrees of mathematical accuracy. This can lead to rendering inconsistencies such as particle streams being calculated in very different positions on different machines. Unfortunately, we cannot tell you when these inaccuracies will arise, nor can we tell you how severe the deviations will be.
72 • TROUBLESHOOTING Animations are not rendered As you will have read in the How to… section of the reference manual, CINEMA 4D NET Render allows you to build up complete ready-to-use animations, under certain circumstances. However if, say, the codec is missing, it is possible that the final animation does not appear. In this case, CINEMA 4D NET Render will help you as best it can. You should: 1. Determine the cause of the problem (usually it’s the codec) and correct your scene accordingly. 2.
TROUBLESHOOTING • 73 The scene cannot be found by the C4DN server and thus will not be rendered. So, let CINEMA 4D create your project directly in your personal user folder, or copy it there via a file server. The correct folder hierarchy should be as follows: The computer freezes Sometimes, when there’s a C4DN client or server running, it may happen that your computer refuses to act upon your input; it’s frozen. There can be many reasons for this behavior.
74 • TROUBLESHOOTING Miscellaneous notes • If the server runs under Mac OS, QuickTime movies will be assembled instead of AVIs. Clients running under Mac OS will render PICT frame sequences instead of BMPs. If the server runs under Windows, AVI movies will be assembled instead of QuickTime movies. Clients running under Windows will render BMP frame sequences instead of PICTs … assuming the scene file contains the corresponding render settings.
Index
INDEX • 77 A Abort job 23, 34 access denied messages 67 Administration clients 26 users 26 Administrator 8, 32, 43 admin Section 51 Alpha channel 19 Animation 19 AppleTalk 57 AVI 11 B Browse 21, 38 browsertype 19, 39, 51 C C4DN client 8 C4DN server 7 Cancel job 23 Clean up 19 clearpics 50 Clear files 21, 35, 37 Client administration 26 client.
78 • INDEX user 43 priority 49, 51 Progress 34 Project 9 update 20 Project files list 36 Q Queue 33 QuickTime 11 Quitting 9 Quit client 24 R Refresh 40 refreshtime 50 Render As Editor 9 Rendering 15 Render Queue 16 Results 18 Result files list 37 S Save path 9 Save project 9 Secrecy v security issues 52 Serial number 8 server.