#ifndef __FPS_SAMPLER_H__
#define __FPS_SAMPLER_H__

#include "HaltonSampler.h"

#define FPS_SEED_STEP 32
#define FPS_ITERATIONS 100

namespace VRUT
{
	/// farthest point strategy sampler
	class FPSSampler : public HaltonSampler
	{
	protected:
		virtual void GenerateSamples(const std::vector<unsigned int> & samplesCounts, bool subSampling, bool sort);
        bool GenPixMapIsNecessary(std::map<uint64_t, unsigned int>& m, const Tile* tile, int numPixels) override;

	public:
		FPSSampler(const std::vector<unsigned int> & samplesCounts, const std::vector<unsigned int> & subSamplesCounts, bool sort = true);
		~FPSSampler(void);
	};
}

#endif /* __FPS_SAMPLER_H__ */
