Fermat
Classes | Functions
SamplingModule

Detailed Description

Classes

struct  strided_vec
 
struct  sample_set_3d
 
struct  TiledSequenceView
 
struct  TiledSequence
 

Functions

float random ()
 
uint32 irandom (const uint32 N)
 
void mj_3d (uint32 X, uint32 Y, uint32 Z, sample_set_3d p, const uint32 slice)
 
void build_tiled_samples_3d (const uint32 X, const uint32 Y, const uint32 Z, float *samples)
 
void load_samples (const char *nameradix, const uint32 X, const uint32 Y, const uint32 Z, float *samples)
 

Function Documentation

◆ build_tiled_samples_3d()

void build_tiled_samples_3d ( const uint32  X,
const uint32  Y,
const uint32  Z,
float *  samples 
)
inline

Build a 3d lattice of 3d points with low discrepancy. The samples are arranged in a SOA layout, so that the point (x,y,z).i coordinates are located at (x + y*X + z*X*Y*3 + i*X*Y) (i.e. if the set has Z slices of X*Y points, there will be Z*3 consecutive arrays of X*Y floats).

◆ irandom()

uint32 irandom ( const uint32  N)
inline

utility function for [0,N) integer randoms

◆ load_samples()

void load_samples ( const char *  nameradix,
const uint32  X,
const uint32  Y,
const uint32  Z,
float *  samples 
)
inline

load a set of 3d samples from a file

◆ mj_3d()

void mj_3d ( uint32  X,
uint32  Y,
uint32  Z,
sample_set_3d  p,
const uint32  slice 
)
inline

build a 3d multi-jittering pattern

◆ random()

float random ( )
inline

utility function for [0,1) randoms