Tipniques: Distributed Bucket Rendering with 3DS Max Design 2013

August 2nd, 2012

Are your rendered images taking a long time to render? If you are using the mental ray rendering engine, you can take advantage of a great feature of 3DS Max Design (as well as 3DS Max) called distributed bucket rendering. Distributed bucket rendering can be used for speeding up the rendering of single images. If you render a large number of high-resolution still images, you will get much faster results with distributed bucket rendering. This type of rendering uses the processors from other machines on your network to speed up the rendering time on your machine.

Tips for Using Distributed Bucket Rendering

When you use distributed bucket rendering, be sure to:

1. Turn on Use Placeholder Objects on the Translator Options rollout located on the Render Setup dialog > Processing panel.  When placeholder objects are enabled, geometry is sent to the renderer only on demand.

2. Make sure the Bucket Order is set to Hilbert on the Sampling Quality rollout on the Render Setup dialog > Processing panel.  With Hilbert order, the sequence of buckets to render uses the fewest number of data transfers.

If you use Contour shading for “pen and ink” style renders, it will not work with distributed bucket rendering.

To use distributed bucket rendering, you must set up “host” systems that are capable of running the mental ray renderer. Remote host systems are all the machines on the network other than the “master” system that runs 3DS Max Design and initiates distributed rendering.

There are two ways to set up host systems:

1. Set up “satellite” systems by installing 3DS Max Design on the other machines on your network that you want to use with distributed rendering. “Satellite” processors allow any owner of a 3DS Max Design license to freely use up to four “slave” machines (with up to four processors each and an unlimited number of cores) to render an image, not counting the one, two, or four processors on the “master” system that runs 3DS Max Design. The number of machines you can use depends on the number of machines running licensed copies of 3DS Max Design. You can use only four external (or satellite) machines per licensed copy of 3DS Max Design. The four external machines still need 3DS Max Design installed, but they do not require an active license on each machine. Expired 30 day trial installs of 3DS Max Design will work fine.

2. Install mental ray Standalone licensing on the other machines. When you use mental ray SPM (Software Protection Manager) licenses, remote hosts (all machines other than the one running 3DS Max Design) must have the mental ray renderer (ray.exe) and a mental ray SPM license server running. For this to work, you must install mental ray on all remote hosts, then configure and run the SPM license server. Once the remote hosts have been configured to run a licensed instance of ray.exe, you can use them for distributed rendering.

If you use satellite processors (machines running 3DS Max Design), you cannot use Backburner to manage distributed bucket rendering. When host processors have mental ray SPM licenses, you can use Backburner to manage distributed bucket rendering.

Information about each satellite or mental ray host is stored in a file called RAYHOSTS. RAYHOSTS is an ASCII text file that lists the name of host systems capable of running distributed rendering. Each line in the RAYHOSTS file contains the name of a host system. The host name can be followed by a semicolon and a port number of the service to connect to. The host name with or without the port number can also be followed by white space and a list of mental ray command-line parameters. By default, max.rayhosts is located in the \NVIDIA directory in the 3DS Max Design folder.

Batch rendering can utilize distributed rendering. You can use the environment variable MRMAX_OFFLINE_DBR_OVERRIDE to control whether batch rendering uses distributed bucket rendering. This variable overrides the “DBR enable” flag. If it is set to “yes,” “true,” or “on,” distributed bucket rendering is enabled.  If it is set to “no,” “false,” or “off,” distributed bucket rendering is disabled. All other values of this variable are ignored.

You can also launch distributed bucket rendering from the command line using 3DSmaxcmd.exe.

Procedure for Setting up Distributed Rendering

1. First, make sure your rendering engine is set to mental ray.

2. Set the mental ray Bucket Order to Hilbert.  This setting is found on the Rendering menu/main toolbar > Render Setup > Render Setup dialog > Renderer panel. Set Bucket Order to Hilbert (best) on the Sampling Quality rollout.

3. You want to use Placeholder objects. This setting is found on the Rendering menu/main toolbar > Render Setup > Render Setup dialog > Processing panel. Under Memory Options, check Use Placeholder Objects. If the Processing panel does not appear, then you do not have mental ray set as your currently active renderer.

4. Further down the Processing panel, you will see the Distributed Bucket Rendering rollout, which contains all the settings for distributed rendering. Check the Distributed Render checkbox. Note: If you have used network rendering in the past (as opposed to distributed rendering), you are accustomed to setting the Net Render option on the Common Parameters rollout. The Net Render setting has no effect on distributed bucket rendering.

5. If remote host systems have maps installed on them, with exactly the same file names and path names as on your “master” machine, turn on Distributed Maps. With Distributed Maps turned on, remote renderers can use their local copy of maps, which saves time.

6. The first time you use distributing rendering, click Add and manually add the IP addresses of the host computers on the Add/Edit DBR Host dialog. When you click Add to add a host or satellite processor, this updates the RAYHOSTS file. Click Remove to remove a processor.

If you have already added host systems in the past, you will see their names in the list and can click to select the names of those satellite or host systems you want to use for distributed rendering. You can click All to select all the host names in the list, or None to select none of the hosts.

7. Render the scene as you normally would. Each system renders the buckets assigned to it. The final rendering appears on the “master” machine that initiated the process, with buckets arriving in an indeterminate order.


________

Tod Stephens obtained his Bachelor’s degree in Electrical Engineering from Cleveland State University and his Master of Science degree in Education and Technology from Walden University. He has been working in the CAD, BIM and visualization field for over 15 years. He has worked for Autodesk resellers as an Architectural Applications Engineer and is currently conducting Revit and 3DS Max training for an Autodesk reseller, Advanced Technologies Solutions. Tod is also an adjunct instructor at the International Academy of Design - Online teaching Revit Architecture and 3DS Max courses for the BIM department. Tod is a Revit and 3DS Max Autodesk Certified Instructor as well as a Certified Professional in AutoCAD and AutoCAD Architecture. He also holds advanced Autodesk specializations in MEP, Structure and Simulation. He is a member of the Tampa Bay Autodesk User Group (TBAUG) and the Tampa Autodesk Animation (3DS Max/Maya) User Group. Tod recently had a chapter, 3DS Max Design Exposure Lighting Analysis Tools, published in the book “3DS Max 2010 Architectural Visualization - Advanced to Expert” published by 3DATS. He also has several Revit/ 3DS Max Tutorials on YouTube under the nexgenviz channel (30 Videos, over 650,000 Views to date). He has an interest in Green Building and Sustainable Design, is an accredited LEED-GA and member of the Tampa Chapter of the US Green Building Council.

Join AUGI Today

Become part of the largest Autodesk community

Appears in these HotNews Issues