|
| RixRNG (Generator const *imp, unsigned scaSize=0) |
|
| RixRNG (Generator const *imp, unsigned scaSize, SampleCtx *sca) |
|
| RixRNG (RixRNG const *parent, unsigned scaSize, SampleCtx *sca) |
|
| RixRNG (RixRNG const *parent, SampleCtx *sca, unsigned scaSize) |
|
| RixRNG (RixRNG const *parent, SampleCtx *sca, unsigned scaSize, Scramble scramble) |
|
| RixRNG (RixRNG const *parent, SampleCtx *sca, unsigned scaSize, Scramble scramble, unsigned nsamps) |
|
| RixRNG (RixRNG const *parent, SampleCtx *sca, unsigned scaSize, Scramble scramble, unsigned sampleid, bool doDistrib) |
|
RixRNG | GetSlice (SampleCtx *sca, unsigned index) const |
|
virtual | ~RixRNG () |
|
SampleCtx & | GetSampleCtx (unsigned i) |
|
float | GenerateSample1D (unsigned i) const |
|
RtFloat2 | GenerateSample2D (unsigned i) const |
|
RtFloat3 | GenerateSample3D (unsigned i) const |
|
float | GenerateSample1D (SampleCtx &c, unsigned i) const |
|
RtFloat2 | GenerateSample2D (SampleCtx &c, unsigned i) const |
|
RtFloat3 | GenerateSample3D (SampleCtx &c, unsigned i) const |
|
void | GenerateSamples1D (float *xis) const |
|
void | GenerateSamples2D (RtFloat2 *xis) const |
|
void | GenerateSamples3D (RtFloat3 *xis) const |
|
float | DrawSample1D (unsigned i) const |
|
RtFloat2 | DrawSample2D (unsigned i) const |
|
RtFloat3 | DrawSample3D (unsigned i) const |
|
float | DrawSample1D (const SampleCtx &c, unsigned i) const |
|
RtFloat2 | DrawSample2D (const SampleCtx &c, unsigned i) const |
|
RtFloat3 | DrawSample3D (const SampleCtx &c, unsigned i) const |
|
void | DrawSamples1D (float *xis) const |
|
void | DrawSamples2D (RtFloat2 *xis) const |
|
void | DrawSamples3D (RtFloat3 *xis) const |
|
void | IncrementSampleIds () const |
|
SampleCtx | NewDomain (unsigned i, Scramble scramble) const |
|
SampleCtx | NewDomainDistrib (unsigned i, Scramble scramble, unsigned newsampleid) const |
|
SampleCtx | NewDomainSplit (unsigned i, Scramble scramble, unsigned newnumsamples) const |
|
void | NewDomains (Scramble scramble) const |
|
void | NewDomainsDistrib (Scramble scramble, unsigned newsampleid) const |
|
void | NewDomainsSplit (Scramble scramble, unsigned newnumsamples) const |
|
void | NewDomains (Scramble scramble, RixRNG *newRng) const |
|
void | NewDomainsDistrib (Scramble scramble, unsigned newsampleid, RixRNG *newRng) const |
|
void | NewDomainsSplit (Scramble scramble, unsigned newnumsamples, RixRNG *newRng) const |
|
All-inlined interface for generating sample points for use by Monte Carlo integration and multiple-importance sampling. Samples are distributed within an N-dimension domain characterized by the combination of patternid and sampleid, stratified in a progressive manner. Resulting samples reside within the [0,1)^N region.
The RixRNG class is a wrapper around an array of per-point sample contexts (RixRNG::SampleCtx). There is typically one SampleCtx for each point in a ray shading batch. The RixRNG wrapper class makes it convenient to generate sample points (or new sample domains) for an entire ray shading batch with just a single function call.
Definition at line 59 of file RixRNG.h.