A tiled sample sequence view.
- Basically, represents a tiled 2d grid of N-dimensional sample sequences, which can be conveniently "sliced" in 1d or 2d sections (each such slice representing a 2d grid of 1d or 2d samples). The per-pixel sequences are constructed by "offsetting" a base, common sequence using a set of per-pixel N-dimensional shifts. The offsetting process is a regular Cranley-Patterson rotation, i.e. the d-th coordinate of the final sequence for pixel p is given by:
sequence(p,d) =
mod( base_sequence[d] + shift[p][d], 1 );
#include <tiled_sequence.h>
|
FERMAT_HOST_DEVICE uint32 | shift_index (const uint32 idx, const uint32 dim) const |
|
FERMAT_HOST_DEVICE float | sample (const uint32 idx, const uint32 dim) const |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | shift (const uint32 idx, const uint32 dim) const |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | shift (const uint32 pixel_x, const uint32 pixel_y, const uint32 dim) const |
|
FERMAT_HOST_DEVICE float | sample_1d (const uint32 tile_idx, const uint32 idx, const uint32 dim) const |
|
FERMAT_HOST_DEVICE float | sample_2d (const uint32 pixel_x, const uint32 pixel_y, const uint32 dim) const |
|
|
uint32 | n_dimensions |
|
uint32 | tile_size |
|
const float * | samples |
|
const float * | shifts |
|
The documentation for this struct was generated from the following file: