Cycles: restore SOBOL_SKIP hack, for some cases where it helps still.
This commit is contained in:
@@ -31,10 +31,17 @@ CCL_NAMESPACE_BEGIN
|
||||
|
||||
#ifdef __SOBOL__
|
||||
|
||||
/* Skip initial numbers that for some dimensions have clear patterns that
|
||||
* don't cover the entire sample space. Ideally we would have a better
|
||||
* progressive pattern that doesn't suffer from this problem, because even
|
||||
* with this offset some dimensions are quite poor.
|
||||
*/
|
||||
#define SOBOL_SKIP 64
|
||||
|
||||
ccl_device uint sobol_dimension(KernelGlobals *kg, int index, int dimension)
|
||||
{
|
||||
uint result = 0;
|
||||
uint i = index;
|
||||
uint i = index + SOBOL_SKIP;
|
||||
for(uint j = 0; i; i >>= 1, j++) {
|
||||
if(i & 1) {
|
||||
result ^= kernel_tex_fetch(__sobol_directions, 32*dimension + j);
|
||||
|
||||
Reference in New Issue
Block a user