In this test we will compare Geo Light sampling technology in 3Delight OSL, Arnold and RenderMan. We will use a test with a geometric area light that is composed of a relatively large number of faces. The test should allow us to find the convergence rate of each algorithm as well as general performance.
The Scene
The test scene allows for procedural generation of floating area lights using the "Tubes Per Step" PaintEffects attribute.
The scene is designed to procedurally generate a number of area lights floating on top of a "city".
- Only diffuse reflectors. The original test scene had a diffuse+specular surface but that generated a considerable amount of additional noise in Arnold. Since we want to concentrate on light sampling here, we decided to go for a simpler setup.
- We will disable any adaptive sampling so to make sure we have very close ray-counts.
- We will use only direct lighting to estimate the geometric area light contribution. In the statistics files for each renderer, one can see that we have only one path lenght.
- All Renders are done in Maya 2016.
Methodology
We are interested to find out about:
- The quality of the light samples drawn by each renderer. How fast do we converge to ground truth by increasing the amount of samples ?
- Performance. How fast is the sampler to produce an image of a given quality ?
We will start by creating a "ground truth" image for each renderer (this image is generated by using a very large amount of samples so there is no more apparent noise). We will then render several images with varying amount of samples and measure the RMSE between these images and ground truth. Timings will be taken at each renderer. Having this data will allow us to draw conclusion about convergence rate and general performance.
Arnold
Samples | 2 (1.23) | 4 (4.91) | 8 (19.64) | 16 (78.56) | 32 (314.29) | 64 (1257.18) |
---|---|---|---|---|---|---|
Time | 1s | 2s | 6s | 21s | 1:21 | 8:12 |
Shadow Rays | 0.678 M | 3.26 M | 10.8 M | 43.4 M | 173.6 M | 694.5 M |
RMSE | 0.15699 | 0.100115 | 0.0501787 | 0.0242515 | 0.0117413 | 0.00693426 |
3Delight
Samples | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
---|---|---|---|---|---|---|---|---|
Time | 5.72s | 8s | 12.82 s | 22.18 s | 40.92 s | 86.91 | 165.69 s | 302.98 |
Shadow Rays | 2.45 M | 3.13 M | 4.51 M | 7.27 M | 12.78 M | 23.8 M | 45.88 M | 90.1 M |
RMSE | 0.0933142 | 0.0658266 | 0.0441248 | 0.0290439 | 0.0185575 | 0.0117566 | 0.00752546 | 0.00449892 |
RenderMan
Samples | 1 | 2 | 4 | 8 | 32 | 64 | 256 | 512 | 1024 |
---|---|---|---|---|---|---|---|---|---|
Time | 6.74s | 7.23s | 7.99s | 9.42s | 18.51s | 29.40 | 1:38.08 | 3:15.77 | 6:23.39 |
Rays | 1.47 M | 2.94 M | 5.88 M | 11.7 M | 47.02 M | 94.14 M | 376.3 M | 751.3 M | 1499 M |
RMSE | 0.151125 | 0.121487 | 0.0953649 | 0.0728148 | 0.0373876 | 0.0265388 | 0.0138148 | 0.00854045 | 0.00396 |
Preliminary Conclusions (for self, re-wording needed)
- 3Delight generates light samples that are significantly better than both Arnold and Prman.
- 3Delight is slower to to generate these samples. Meaning that for draft renders Arnold/PrMan will seem faster. For final renders 3Delight becomes increasingly faster.
- Using so much less samples also makes 3Delight faster when shading is more expensive
- RenderMan seems to have difficulties in sampling.
- Arnold has a solid albeit O(N^2) algorithm (vs O(N) in 3Delight) and compensates to a certain degree with very fast light sampler.
- When combining BRDFs, 3Delight is even less noisy.