Пример #1
0
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;
}
Пример #2
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);
    }
}