RandomSquareKernel is fixed to one-dimension (x-axis) and 2-components per sample.
Width of the kernel along its x-axis.
Length of all samples in bytes.
Number of components per sample, e.g., 2 for 2-tuple samples, 3 for 3-tuple samples, etc.
The depth of the kernel (z-axis)
Returns the number of samples.
The height of the kernel (y-axis)
Returns the number of samples, i.e., the number of elements times the number of components per element.
All elements/samples of the kernel as array buffer.
Changes the size of the kernel and triggers regeneration of all values.
Distance between the indices of two adjacent elements along the x-axis in bytes.
Distance between the indices of two adjacent elements along the y-axis in bytes.
Distance between the indices of two adjacent elements along the z-axis in bytes.
Copies and converts samples to this kernels typed samples.
Flat array of all sample values.
Fully reconfigures, i.e., resizes and copies samples, the kernel.
JSON object either from file, or set manually. These kernels can be generated using, e.g., glkernel https://github.com/cginternals/glkernel.
Generates for each sample random components in [-1.0, +1.0] except for the first.
Returns the n-tuple/n-component element at index within the cached kernel.
If x is greater than width, this is interpreted as overall kernel index (requires y and z positions to be undefined). Position is clamped to the range [0, width - 1].
Position along the y-axis to access the kernel element at (clamped to range [0, height - 1]).
Position along the z-axis to access the kernel element at (clamped to range [0, depth - 1]).
Returns the index of an element at a specific position.
Position along the x-axis (clamped to range [0, width - 1]).
Position along the y-axis (clamped to range [0, height - 1]).
Position along the z-axis (clamped to range [0, depth - 1]).
Returns the position of an element at a specific index.
Index of the requested position (clamped to range [0, size]).
Sets the n-tuple/n-component sample at index within the cached kernel.
Values to be set at specified index or position.
If x is greater than width, this is interpreted as overall kernel index (requires y and z positions to be undefined). Position is clamped to the range [0, width - 1].
Position along the y-axis to access the kernel element at (clamped to range [0, height - 1]).
Position along the z-axis to access the kernel element at (clamped to range [0, depth - 1]).
Sorts all samples based on the given sorting approach, e.g., by length of a sample. In order to sort an array of samples comprising a number of components an sort-auxiliary array is created, sorted, and, finally, mapped to the sample array.
Sorting approach that is to be used.
Kernel providing random values in [-1,+1] for two components. The first sample is fixed at [0.0, 0.0] since the kernel is intended for use of NDC offsets.
Example for using this kernel: