**Introduction**

This work was mostly triggered by Out-of-Core rendering but it delivers some benefit for normal rendering too.

**New Random/Sobol sampler parameters**

Random/Sobol samplers have been reworked to expose new parameters:

Code: Select all

```
# Must be power of 2
sampler.sobol.bucketsize = 16
# Must be power of 2
sampler.sobol.tilesize = 16
sampler.sobol.supersampling = 1
sampler.sobol.overlapping = 1
```

**Random/Sobol sampler: "Progressive" mode (default)**

Configuration:

Code: Select all

```
sampler.sobol.bucketsize = 16
sampler.sobol.tilesize = 16
sampler.sobol.supersampling = 1
sampler.sobol.overlapping = 1
```

It renders 1 sample per pixel and it cover all the image very fast.

**Random/Sobol sampler: "Cache-friendly" mode (default)**

Configuration:

Code: Select all

```
sampler.sobol.bucketsize = 1
sampler.sobol.tilesize = 16
sampler.sobol.supersampling = 1
sampler.sobol.overlapping = 32
```

**Random/Sobol sampler: "Out-of-Core" mode**

Configuration:

Code: Select all

```
sampler.sobol.bucketsize = 1
sampler.sobol.tilesize = 16
sampler.sobol.supersampling = <a number between 4 and 64, better if power of 2>
sampler.sobol.overlapping = 32
```

I have sincerely some problem to test OoC rendering at the moment. First of all, I lack a test scene to put out of memory the 8GB of my GPU. So this topic may need some further investigation to check the results.

**Conclusion**

As I wrote, the UI (i.e. BlendLuxCore) should only expose 3 new options for Random/Sobol:

- Progressive

- Cache-friendly

- Out-of-Core (we may expose the "sampler.sobol.supersampling" parameter here too)

so very little complexity is exposed to the end user. And, for instance, the mode could also be forced if OoC rendering is enabled.