public static unsafe void GetRgssOffsets (PointD* samplesArray, int sampleCount, int quality)
{
if (sampleCount < 1)
throw new ArgumentOutOfRangeException ("sampleCount", "sampleCount must be [0, int.MaxValue]");
if (sampleCount != quality * quality)
throw new ArgumentOutOfRangeException ("sampleCount != (quality * quality)");
if (sampleCount == 1) {
samplesArray[0] = new PointD (0.0, 0.0);
} else {
for (int i = 0; i < sampleCount; ++i) {
double y = (i + 1d) / (sampleCount + 1d);
double x = y * quality;
x -= (int)x;
samplesArray[i] = new PointD (x - 0.5d, y - 0.5d);
}
}
}