Photo rendering engines performance test


The purpose of this article is to present some performance and output comparisons of open source ray tracing software that could be used as alternatives to the current photo generation engine embedded in Sweet Home 3D, i.e. SunFlow.


Sweet Home 3D is widely praised in the design community for its good photo rendering capabilities. This is largely due to the excellent open source library SunFlow which is embedded and used. As SunFlow is no longer maintained, it has not been and will not be brought up to date to use the latest techniques delivered by both academic research and graphic processing hardware progress. In particular it can make no attempt to use the graphics processor in any manner. So this article was initiated to see if an alternative rendering engine can be found (and eventually added to Sweet Home 3D) to provide more options in the future. This newer engine would need to satisfy several requirements in order to be considered a valuable addition to the program; in particular it must have these attributes:

Equal or better performance to SunFlow Good memory management Able to run cross platform Have an open source license Requirements for candidates Must create output images via a ray tracer algorithm such that existing knowledge within the community keeps its value, this excludes options such as Reyes rendering as seen in Renderman  Must be open source; preferably, LGPL, MIT or Apache license (or equivalent) Must be written in a language that is appropriate to the community: Java or C++ (possibly C); there are JavaScript and Python options that have not been considered Must have a feature set comparable to SunFlow. For example photon mapping, ray casting, caustics, translucent scattering, several global illumination options, various sky light options, depth of field, ambient occlusion, etc. Must be able to provide high quality output, photo realistic is the benchmark Must be currently maintained, a significant release should have been made within about a year Must run under Windows, Mac OS X and Linux, should have minimal code differences, no quality, and minimal speed difference between platforms Must be able to handle OBJ 3D models Must be able to handle JPEG and PNG images Must provide feedback during rendering computation (at minimum % of operation complete, but for preference image parts already computed) Should be able to have settings altered at runtime to allow customization of output by users Should be faster than SunFlow, or at the least of comparable speed, this suggests that if it could use graphics processor acceleration that would be good If a code is required to drive the render it should be a simple, plain text, interpreted, scripting language In order to allow a staged approach to research and development the ray tracing engine must allow a standalone binary and command line operation, or be a plugin to a well-established 3D design program; if it requires compilation into an executable it will be excluded. Note there is a chance that a good candidate that provides all other features will be excluded on this basis, but there is no real work around to this requirement. Candidates

The following candidate list comes primarily from this Wikipedia article but also from other Internet searches. 

Table 1. Candidates

OSPRay Apache 2.0   13 committers with 10+ commits, many with

Continue reading

This post was originally published on this site