Pandromeda Login
Tutorials
Distributed Rendering with Multiple Processors

MojoWorld 3.1 does not include a direct interface for distributed rendering, but you can use MojoWorld's Uplink Queue and Render Room to manually parcel out jobs which can then be rendered on different machines, or a second processor within the same machine.

For MojoWorld to make full use of the multiple processors on a single machine, one must launch multiple instances of the MojoWorld application, one for each processor.

On multi-processor Windows machines, double-click the MojoWorld icon to launch one instance of the application, and then double-click the MojoWorld icon a second time to launch a second instance. The Macintosh OS prevents multiple instances from running, and double-clicking an application's icon while the application is already running only brings the one instance to the foreground. To run multiple instances of MojoWorld on a Macintosh, you will need to duplicate the MojoWorld application icon and give it a different name, i.e., MojoWorld-instance1. Repeat for each processor in the machine, then launch multiple instances of MojoWorld by double-clicking each of the icon copies.

Distributed Rendering for a Still Image

To distribute the rendering of a single still image across multiple MojoWorld instances requires using the Tiled Rendering option of the Uplink Queue.

Create your world, select your view, and then use the 'Process Later...' menu item on the Render Settings Menu. This will open the Uplink Queue dialog. When the job is selected in the top Queue portion of the dialog, the lower portion shows the render settings associated with that job. All settings for the render job can be edited here.

The following diagram of the Uplink Queue editor has been trimmed down for conciseness. The dashed lines indicate where parameters have been trimmed out. The parameters most important to Tiled Rendering are the last four of the Advanced Settings menu expander.


When setting up the initial render queue job, set up all the render parameters that must be the same in all of the jobs. These parameters include the various quality settings, the pixel dimensions, and so forth. Basically every parameter except for the 4 tile options.

Save the world file. This render queue job will be cloned after the file is copied to other machines participating in the render.

Copy the world file over to all machines participating in the render. On each machine, open MojoWorld and open the local copy of the world file.

Go into the Uplink Queue editor and make a clone of the render job. Open the Render Settings->Advanced Settings control stack. Set the Start Tile and End Tile of the job to render the desired range of tiles.

Tile ranges are calculated based on the pixel dimensions of the final render and on the tile size.

For example, a still image whose final size is 2000 x 1000, using a tile size of 500 (x 500 pixels, tile size is in square pixels) will result in 8 tiles total, 2 rows of 4 tiles each. MojoWorld instance 1 can render tiles 0 through 3, MojoWorld instance 2 can render tiles 4 through 7.

Important! Because file pathnames are not portable across machines, after adjusting the Start Tile and End Tile parameters, be sure to click on the 'Save to Disk' icon up in the Queue portion of the dialog. This will bring up a File->Save dialog in which you can specify the file name and destination folder.


Important! Be sure to disable the original uplink queue job so that it does not process when the render room is started.

When rendering is distributed across multiple machines, the final image may be assembled in two different ways. The first way is to put all of the files into a single folder on a single machine. Start a MojoWorld instance on that machine and render the one fastest tile. When that one tile completes, MojoWorld will assemble all of the tiles into the final image. The other way is to combine the files using Photoshop or other similar image editing software. Tiles should be loaded into individual layers placed over the main image file. Blend the layers with Maximum as the blank spaces in the main image file will be black.

Distributed Rendering for an Animation / Still Frames

Create your world, record some time in the Movie Editor, and then use the 'Process Later...' menu item on the Movie Editor Menu. This will open the Uplink Queue dialog. When the job is selected in the top Queue portion of the dialog, the lower portion shows the render settings associated with that job.

Copy the world file over to all machines participating in the render. On each machine, open MojoWorld and open the local copy of the world file.

Go into the Uplink Queue editor and make a clone of the render job. Open the Render Settings->Movie Settings control stack. Set the Start Frame and End Frame of the job to render the desired frame range.


Important! Be sure to click on the 'Save to Disk' icon for the destination file name of the render queue job clone. This is important to set not only the file name and destination folder, but also to set the file type to a still frame format such as PNG. Rendering animations in a distributed fashion requires that the sections be rendered as still frame sequences and then final composition into a movie will be done with the video editor of your choice.

Processing the Uplink Queue

After the Uplink Queue job clone has been modified to specify the tile range or frame range to render, click on the Render button in the upper right corner of the Uplink Queue dialog.

MojoWorld will enter the Render Room interface. Make a final check of the queue and then click on the Render button in the Render Room to start the queue process.

 

Back to Tutorial Index