Skip to content
Ben Heasly edited this page Aug 21, 2015 · 10 revisions

Here is an overview of RenderToolbox3, version 2.

Version 2 was released on 20 June 2014. Existing recipe scripts should still work with version 2, possibly with minor changes. It fixes various bugs and adds some miscellaneous features. It changes the folder structure for recipe input and output files (for the better!).

Version 2 also adds a major new feature, the Recipe API.

Version 2.1 was released on 1 August 2014. It contains several small fixes and no major changes.

Recipe API

The Recipe API is a new set of functions that facilitate working with recipes. They organize all recipe data in a single struct. They allow the recipe struct and resource file to be packed up in a zip archive and unpacked later, even on a new machine. They also automatically keep track of progress and errors in recipe log.

The Recipe API is optional, so existing examples should still work.

See more about the Recipe API.

Working Folders

Version 2 changes the way recipes organize input resources and output data files. This applies to existing recipes as well as new recipes that use the Recipe API.

Previously, RenderToolbox3 had separate configuration for three different folders: tempFolder, outputData and outputImage. Having these three configured separately made it hard to use relative paths inside generated scene files, making the scene files bound to the machine they were created on. There also was no good place for recipes to put input resources, like spectrum files and texture images.

In version 2, each recipe uses a single workingFolder. resources, scenes, renderings, images, and temp folders are created automatically inside the workingFolder. This allows recipes to work with a consistent set of folders for inputs and outputs, all relative to the workingFolder.

See more about the Input and Output Files.

Miscellaneous

Version 2 also adds several miscellaneous features.

Renderer Progress Indicators

Recipes can turn on and off progress indicators that renderers print in the command window, using the new isCaptureCommandResults hint.

When hints.isCaptureCommandResults is false, renderers like PBRT and Mitsuba will be able to print progress indicators to the Matlab Command Window, as they render. This can be useful during long rendering jobs. However, this prevents RenderToolbox3 from saving the renderer outputs in rendered data files.

When hints.isCaptureCommandResults is true, RenderToolbox3 captures renderer outputs and saves it inside data files, just like it has in the past.

Collada Author Info

RenderToolbox3 now reads Collada author information tags and displays the author info during batch processing. It also automatically appends the author info to the native scene descriptions produced by renderers. This should be useful for debugging and documentation.

4x4 Transformations

Recent versions of Blender export spatial transformations in Collada files using all-in-one 4x4 transform matrices. Previously, Blender exported separate transformations for translation, rotation, and scale. RenderTooolbox3 Version 2 now supports the 4x4 transformations.

Note that the 4x4 transformations broke some example mappings files, which expected to modify translation, rotation, and scale separately. See DiceTransformations for more.

Bug Fixes

Version 2 also fixes various bugs.

Reference Data

We executed all of the RenderToolbox3 example recipes and compared the output to Reference Renderings generated from version 1.1. The comparisons were generally close.

For future reference, here is a summary figure for the comparisons, generated using the CompareAllExampleScenes() utility. We consider correlations and pixel errors of these magnitudes to be "good".

Clone this wiki locally