LuxMerger - LuxRender Wiki
Luxrender GPL Physically Based Renderer

LuxMerger

Personal tools

From LuxRender Wiki

Jump to: navigation, search

LuxMerger is a tool that can merge rendering results from different computers or rendering sessions into one final image.

The usage is quite simple: specify one or more .flm files to merge, and they will be merged as if they came from different rendering slaves. The result will be a .flm file whereby the resulting sample/pixel count is the sum of the sample/pixel count for all the films merged. This .flm can then be opened in LuxRender, tonemapped and saved as an image.

Apart from merging images, LuxMerger can also be used to create motion blur from a series of animation frames.

Contents

Syntax

LuxMerger is run from a terminal window. The following syntax would merge the files node1.flm, node2.flm and node3.flm:

luxmerger [-o merged.flm] node1.flm node2.flm node3.flm

The program will take the number of samples of each of the .flm files into account. If for example node1.flm contains 500 S/px, node2 1500 S/px and node3 1000 S/px, the result will be identical to that of one rendering session of 3000 S/px.

Running LuxMerger on OSX

If you have run the "create_systemwide_symlinks" script located in /Applications/LuxRender/scripts_interactive folder, you can merge film files as detailed above.

Alternatively, you drag the "merge_filmdata" executable icon located in /Applications/LuxRender/scripts_interactive folder onto a Terminal window and press enter. You will then be prompted to drag the first film file to be merged onto the Terminal window, followed by a prompt for the second film file to be merged, and finally a prompt for the path and file name to where the merged film file is written to. If no path is specified the file is written to /Users/current_user/. Running LuxMerger in this way is more intuitive for the beginning user, but only allows for merging two film files.

Requirements

LuxMerger assumes the following properties to be equal between the flm's:

   * resolution (width / height)
   * number of light groups
   * integrator (mainly bidirectional or not-bidirectional)
   * sampler (mlt/erpt versus random/ld)

Other than that it will happily merge whatever .flm files it is provided with.

Getting Help

Use 'luxmerger --help' to see the help file for LuxMerger.

Using LuxMerger for motion blur

LuxRender doesn't handle complicated motions during exposure. As such LuxMerger is a viable method for doing motion blur. In this case it is crucial that all frames are rendered with an equal number of samples/pixel, otherwise noise will be unevenly distributed.

Steps:

Use the '-haltspp' parameter (could be fairly low if you render a large number of frames), export the animation and render. Contrary to normal animations, you should NOT use the "fixed seed" parameter during rendering. Finally, use luxmerger to merge all the frames.

If you're running low on disk space, an alternative is to merge the flm's individually to the master as they are completed:

"luxmerger -o master.flm frame0102.flm master.flm"

Rendering and merging may be best handled by a small script.

If you're using a high number of frames (for something like your initial picture try around 500-1000 frames), you should be able to set haltspp to a very low number. Try 10 first. If you're not satisfied, just render the animation again and merge the resulting flm's from the two runs. If you wish to render the second run at a higher haltspp, you can do so as long as ALL the frames in the second run are rendered with the new haltspp.