The first two dimensions of scrambled, shuffled Sobol and shuffled PMJ02 are equivalent, so this makes no real difference for the first two dimensions. But Sobol allows us to naturally extend to more dimensions. Pretabulated Sobol is now always used, and the sampling pattern settings is now only available as a debug option. This in turn allows the following two things (also implemented): * Use proper 3D samples for combined lens + motion blur sampling. This notably reduces the noise on objects that are simultaneously out-of-focus and motion blurred. * Use proper 3D samples for combined light selection + light sampling. Cycles was already doing something clever here with 2D samples, but using 3D samples is more straightforward and avoids overloading one of the dimensions. In the future this will also allow for proper sampling of e.g. volumetric light sources and other things that may need three or four dimensions. Differential Revision: https://developer.blender.org/D16443
16 lines
322 B
C
16 lines
322 B
C
/* SPDX-License-Identifier: Apache-2.0
|
|
* Copyright 2019-2022 Blender Foundation */
|
|
|
|
#ifndef __TABULATED_SOBOL_H__
|
|
#define __TABULATED_SOBOL_H__
|
|
|
|
#include "util/types.h"
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
void tabulated_sobol_generate_4D(float4 points[], int size, int rng_seed);
|
|
|
|
CCL_NAMESPACE_END
|
|
|
|
#endif /* __TABULATED_SOBOL_H__ */
|