rtsCubeSampler.h 656 Bytes
/*This class returns a series of normalized vectors that sample the surface of a cube*/
/*TODO:
-)Implement random sampling
-)Allow the user to provide a total number of samples

*/
#ifndef RTSCUBESAMPLER_H
#define RTSCUBESAMPLER_H

#include <vector>
#include "rtsMath.h"

using namespace std;

//definitions for sample types
#define RTS_RANDOM_UNIFORM	0x00001001
#define RTS_RANDOM_GAUSSIAN	0x00001002
#define RTS_REGULAR			0x00001003

class rtsCubeSampler
{
public:

	unsigned int m_sample_type;
	unsigned int m_squared_samples_per_side;
	double max_angle;
	vector3D m_main_vector;

	vector<vector3D> Evaluate();
};

#endif