NET 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 NET 1. Introduction....................................................................................................................................... 1 Terminology...................................................................................................................................... 2 Requirements.................................................................................................................................... 3 About Networks and C4DN .........................
Reset Server ............................................................................................................................... 35 Details Page .................................................................................................................................... 36 Result Files ................................................................................................................................. 37 Upload Page .............................................................
Scenes are not Rendered ................................................................................................................ 74 The Computer Freezes .................................................................................................................... 75 Switch on virtual memory on all computers running C4DN, the more the better. ................... 75 Miscellaneous Notes ...............................................................................................................
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 for creation on demand and on-time delivery. Time and cost are major considerations in the professional marketplace.
2 • INTRODUCTION ! In contrast to the clients, the server application is not free and distribution thereof 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. We suggest you check this site on a regular basis for updates.
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.
NET 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 — it 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 Please register promptly with MAXON Computer. Only by registering will you be sent your final serial number. Registration also entitles you to updates, support and information on future developments. 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.
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 First, though, a few important words on using unlike (heterogeneous) networks. Using unlike (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.
3 How To...
HOW TO... • 15 3. How To... How to Render a Scene Across the NSetwork 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 will then automatically start the rendering.
HOW TO... • 17 The tiles will be distributed over the network and rendered. Once the rendering is complete you will have 9 or 25 files that can be pieced together in an image editor such as Adobe Photoshop to form the still image. However, before you network render the still image scene, you need to do a little set-up work in CINEMA 4D. First you set up a special camera called a tiled camera. More about this later. Next, you set up an animation.
18 • HOW TO... How to Monitor the Render Job You can watch the progress of your jobs if you look at the Progress column - this page refreshes automatically. 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). Note: 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 on the list, then click on either the Download button or the Delete the respective button. Note: 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.
20 • HOW TO... How to Clean Things Up Once a project has finished (and does not need to be rendered again), you can delete the corresponding job folders within your user folder. Alternatively, you can delete the job from within the browser by clicking on Delete (under Command) on the Jobs page. After a confirmation-prompt, the entire job with all files and folders will be deleted form the server. Always consider the advantages of making backup copies.
HOW TO... • 21 ...there is a neat function ready to help in these instances, when just a few files need to be transferred to the server. 1. Start your Internet browser and go to the Jobs page. 2. Click on the name of the job that should receive the rendered file(s); this switches to the Details page. 3. Click on Upload. A new page appears. NET 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.
22 • HOW TO... How to Work with Job Priorities Suppose you have the following situation: 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 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. You can use the arrow that points down to allocate a lower priority to a particular job.
24 • HOW TO... How to Work Dynamically with Clients Say 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 and 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. 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 for a live view of 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 be aware 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 sub pages. If you click on the ABOUT link you will see copyright information for CINEMA 4D NET Render and MAXON Computer's contact information. 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 every few seconds (see The configuration file for details). In the upper part of the window detailed information about the project is shown. NET Render Queue The table shows a list of all jobs on the server that are currently being rendered or waiting.
34 • REFERENCE Name defines the name of the job. Clicking here takes you to a specific control page for the job (see Details page). Owner displays the name of the user to which the job belongs. If you are logged in as a normal user you will see only your jobs. Only if you are administrator will you see all jobs of all users. State defines the status of the current job. The possible states are: State Meaning waiting running The job is waiting to be rendered. The job is currently being rendered.
REFERENCE • 35 Create New Job Below the list you will find a text field where you can enter the name of a new job. After clicking on Create New Job you will get a new job with this name in the Inactive Job list. You then need to fill this in with the scene to be rendered. To do this, you must either have direct network access to your user folder on the server and you copy your scene directly into the appropriate sub-folder named after the job or you click on the job name and enter the Details page.
36 • REFERENCE Details Page Clicking on a job name in the job list (see above) takes you to 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 case of an error, check the error message(s) 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 refresh automatically 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. This is the only way to send data to the server if you are accessing the server over the Internet . 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 very closely to the defined HTML standards; when downloading files from lists, for example. It’s different from browser to browser and operating system to operating system. Due to this behavior we’ve defined a special variable in the server.ini file (see appendices). If the variable browsertype is set to 1, a file will be downloaded directly from the Result Files list.
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 every few 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 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. Control Column The “Reset” button lets you restart that particular client. This is useful if, for example, a plugin wasn’t installed at some point within the network. This saves you from having to actually go to that particular station to remedy the problem.
42 • REFERENCE Administrator Shows if the user has extended rights (yes—checked) (e.g. for deleting other users) or if the user 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).
REFERENCE • 43 NET
5 Appendices
APPENDICES • 47 5. Appendices The Configuration Files These important files, named server.ini or client.ini, are for the manual configuration of CINEMA 4D NET Render. For the server, the files 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 ; 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 will 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 to which the C4DN server listens. Normally it reacts to messages from all addresses. Therefore the default value is 0 (=all addresses). If the computer has multiple TCP/IP addresses you can assign a specific one. The C4DN server will then ignore messages from other addresses.
APPENDICES • 51 This is for monitoring purposes only. As a normal user you can only affect your own jobs (e.g. stop the processing, delete them, rearrange them etc.) not the jobs of other users. 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 will appear.
[user] Section This section is for configuring an additional user so you can have multiple user sections. You can configure this data much more easily by using a browser and accessing the user administration web page. name, password, info, priority – These variables are identical to those described in the [admin] section. The only difference is that they are for the specified user.
Under no circumstances should a user be able to access the file named server.ini from the server folder because he will find there all user IDs and passwords. Use of unauthorized access in local networks causes headaches at the most, but when connecting CINEMA 4D NET Render to the Internet you must be aware of these important security issues. It is best that you give access only for the user folder and hide and protect all other folders — mainly the server folder — from user access.
54 • APPENDICES Usually your Internet service provider allocates you explicit IP addresses. These are addresses that can identify your computer unambiguously across the Internet. These addresses play a secondary role in an intranet and are only of interest to the gateway computer, the so-called gate to the world. As a rule, this gateway has more than one IP address (at least one internal IP address in addition to the external address).
APPENDICES • 55 Problems can arise if another web server is running on one of the computers in the render farm. For example, installing Microsoft Frontpage always installs a web server (i.e. the Microsoft Personal Web Server). You can read how to overcome this scenario in the Troubleshooting chapter. The combination of the IP address and the TCP port number is referred to as the Socket. The two parts are separated by a colon, e.g. 192.168.0.144:8080.
56 • APPENDICES Some Macintosh computers come with built-in Ethernet, so connecting them is all you have to do. If you want to connect only two computers there’s no need for a hub. You have to buy a special cross cable from your hardware dealer. Just plug this cable into the Ethernet cards. Configuring TCP/IP under Windows Windows 2000/XP In Windows 2000/XP; go to Control Panel / Network Connections or Control Panel / Network and Dialup Connections.
APPENDICES • 57 Support What if neither the manual nor your own tests can resolve a problem? It’s time to contact the Technical Support department. MAXON Computer will be more than happy to help you solve your problems. 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 — oh, it’s 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 hotline; 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: client: A computer upon which a C4DN client program was started.
60 • APPENDICES file server: The network’s server. This is a computer that, in addition to other qualities, can be accessed both by PC and Macintosh computers. firewall: A software or hardware-based system for protecting unauthorized access to your firm’s internal network from the outside world (e.g. via the Internet). Computers protected by a firewall are invisible to external computers. FTP: File Transfer Protocol. A protocol used for controlling the transfer of files.
APPENDICES • 61 intranet: A company’s internal network. Internal networks are based on Internet technology and protocols. An intranet can be connected to the Internet, though this is optional. IP: Internet Protocol. A means by which data is transferred over the Internet. See also TCP and TCP/IP. IP address: A unique identification number for a computer that enables it to communicate with other computers via TCP/IP.
62 • APPENDICES 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 • 67 6. Troubleshooting No Connection to the Server If you installed CINEMA 4D NET Render without encountering 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.
68 • 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 from having to constantly enter the new socket.
TROUBLESHOOTING • 69 There are two solutions: 1. Switch off the firewall. Warning! This may be a security risk; ask your system administrator for advice. 2. For each client, open up your firewall settings and add port 1080 for the client (or whatever port number you are using if you’ve changed from the default). For the server, open up the firewall settings and add port 8080 for the server (or whatever port number you are using).
70 • 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 off guard because don’t even know it’s been changes. 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 • 71 Dynamic TCP/IP Address Often you have to use dynamic TCP/IP addresses, especially when you’re connected to the Internet through a modem. In this case your computer gets its individual TCP/IP address from your provider the moment you connect. The address is dynamic in the sense that you’ll be issued a different one almost every time.
72 • TROUBLESHOOTING An example of dynamic addressing running Mac OS. An example of a static addressing running Mac OS.
TROUBLESHOOTING • 73 Inaccurate Calculations One common feature of heterogeneous (unlike) 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. Nobody can predict when these inaccuracies will arise, nor will anyone be able to tell you how severe the deviations will be.
74 • 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 the codec is missing, it is possible that the final animation will 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 • 75 The Computer Freezes Sometimes, while a C4DN client or server is running, it may occur that your computer refuses to act upon your input; it’s frozen. There can be many reasons for this behavior. In the following, we’ll show you some steps you can take that will help avoid such problems: Many computers run a so-called power management system. This will shutdown a machine after a certain period of user inactivity (no mouse or keyboard input etc.).
76 • TROUBLESHOOTING If you’re using textures or texture movies that can be processed only under a specific operating system then, in a heterogeneous network, the scenes will be rendered only by the clients which can do so. Imagine a scene that contains QuickTime and PICT textures. This scene will be rendered only by clients running under Mac OS. All Windows clients will abort with an error and continue with the next job.
Index
INDEX • 79 A E M Abort job 23, 34 access denied messages 68 Administration clients 26 users 26 Administrator 8, 32, 42 admin Section 51 Alpha channel 19 Animation 19 AppleTalk 57 Error 20 Ethernet 55 European Union 1 Macintosh 56 Modify web pages 26 Monitor job 18 Multi-homing 54 Multiple use iii F C G C4DN client 8 C4DN server 7 Cancel job 23 Clean up 20 clearpics 50 Clear files 21, 34, 37 Client administration 26 client.
80 • INDEX Q U Queue 33 QuickTime 11 Quitting 9 Quit client 24 Update 2 project 20 Upload file 21, 36 Upload page 21, 38 User account 8 administration 26 delete 41 priority 42 Users page 41 user section 52 R Refresh 40 refreshtime 50 Render As Editor 9 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.