[Bf-committers] Shading System Proposals
Raul Fernandez Hernandez
raulf at info.upr.edu.cu
Tue Jan 5 16:01:52 CET 2010
> Also, in my experience, letting the BSDF compute the wo must be done with
> care. It is not a good idea to let the BSDF have its own independent
> generator. If two different BSDF sample generators are corelated for
> consecutive paths, this can (and generally will) produce moiré or lisajou
> caustics artifacts.
That's what I was refering when I said that especial care should be put
in the design of a good sampler, it is the heart of every Monte Carlo
algorithm and could not be substitute with combination of RNG functions.
> A strategy that works well is to use a
> multiple-dimensional sampler per path and you need as many (times 2)
> dimensions as there are bounces in your path. Each bounce requires 2 more
> dimensions. For example you need dimension 1 and 2 to sample the light
> surface and 3, 4 to sample the direction from the light surface. Then you
> would need dimensions 5,6 to sample the bounce direction from the BSDF on
> the hit point, etc. Sobol sampler can do that by using different prime
> numbers for every dimension. This strategy can be hard coded in the BSDF
> it would be more flexible in allowing someone to develop different path
> sampling strategies if another sample() function could take u and v
> parameters and use those with a warp function to sample the distribution.
>> * intensity estimate: given in vector (or not)?, integral over
>> outgoing directions
A global sampler must be set, a multidimensional one like PBRT does,
that way every aspect of the shading system could take advantage of
better sampling strategies, the sampler itself could be a node that
provides samples to every other node that need it. Firstly keep it
simple, one or two simple sampling algorithm but later, once the system
is functional more strategies could be easily and independently added.
More information about the Bf-committers