int main(int argc, char *argv[]) { int i; FILE *fp; float x, y; int numsamples = 256; for(i = 0; i < numsamples; i++) { float x, y; //fprintf(stdout, "%f\n", RadicalInverse(i, 2)); x = FoldedRadicalInverse(i, 2); y = FoldedRadicalInverse(i, 3); x = RandomFloat48(); y = RandomFloat48(); x = (float)i / numsamples; y = RadicalInverse(i, 2); x = FoldedRadicalInverse(i, 2); y = FoldedRadicalInverse(i, 3); //fprintf(stdout, "%f %f\n", x, y); //fprintf(stdout, "%f %f\n", ((float)i / (float)8), x); float vector[3]; UniformSampleHemisphere(vector, x, y); fprintf(stdout, "%f %f %f\n", vector[0], vector[1], vector[2]); } TestPointInTriangle(); return 0; }
void SamplerUtil::FoldedHaltonSamples(DOUBLE* samples, UINT32 n, UINT32 start) { for (UINT32 i = 0; i < n; ++i) { *(samples++) = FoldedRadicalInverse(i + start, 2); *(samples++) = FoldedRadicalInverse(i + start, 3); } }