You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The goal here is to compare 3Delight's OSL rendering core with other renderers using C++  for shading  (namely Arnold and RenderMan RIS). Since all renderers are quite different, we will try to get to a most common denominator, in terms of setup, to be able to compare apples to apples. We want to know: can we go as fast, in OSL, as highly optimized C++ ray-tracer ?

In this particular case we will be constructing an artificial test scene that simulates foliage.  Rendering foliage is a good stress test for many reasons:

  • Many shader evaluations, including for transmission rays. No "opaque" object tricks are possible because leaves are usually modelled using cutouts. Shader evaluation efficiency is important.
  • Many short ray probes necessitate a good integration and coordination between shading system and space partitioner.
  • Any bottlenecks in the ray tracer tend to be amplified and adversely affect performance.

The Scene

The scene is designed in such a way as to put all the contenders in an even playing field and get meaningful performance numbers. For example:

  • We will just use diffuse reflectors. We don't want complexe BRDFs sampling to get in the way. This test is not about this.
  • We will disable any adaptive sampling so to make sure we have very close ray-counts.
  • We will use only one diffuse bounce. This will circumvent some complexe variables from the equation (Russian roulettes and other tricks of the trade). 
  • The scene is easy to load, to setup and to render. It is available for all tested renderers.
  • All renders are done in Maya.

    NOTE

    We disabled a specific 3Delight's optimisation that would give it an unfair advantage in the context of this test. This optimization cannot be disabled from the UI and has been disabled in the renderer itself for the purpose of this test. If you render the scene below using a standard 3Delight, it would go about 10-20% compared to the results below.






The scene looks quite ugly in the viewport: just a large collection of rectangles generated using PaintEffects.

 

The render looks slightly better. Squares are transformed into circles using a cutout. Scene is lit by two large area lights from each side.  

 

The cutout is done using a Maya Ramp. In Arnold it is connected to "opacity", in RenderMan to "presence" and in 3Delight to "transparency" !
(3Delight shown here) 


The Renderers

 

 ArnoldRenderMan3Delight OSL
Version

 

TechnologyUnidirectional path tracerUsing unidirectional path tracer. Other options are available but not useful for this test.Unidirectional path tracer
ShadersC++C++OSL

 

The Setup

 ArnoldRenderMan3Delight OSL
Screent Shot

 

Remarks 

Min Samples = Max Samples
Light Samples = 2, seems to give closer results to Arnold 

Only shading samples to set for sampling BRDFs. 3Delight OSL takes care of the rest.
    

 

 

The Results

 

 3Delight OSLArnoldRenderMan
Image

  
Total Number of rays22.7 Millions20 Millions23.1
Time66 seconds 185 seconds
Comparison1  

 

 

Resources

 

 

 

 

  • No labels