#ifndef _SamplingPreprocessor_H__ #define _SamplingPreprocessor_H__ #include "Preprocessor.h" /** Sampling based visibility preprocessing. The implementation is based on heuristical sampling of view space */ class SamplingPreprocessor : public Preprocessor { public: int mSamplesPerPass; int mTotalSamples; int mKdPvsDepth; SamplingPreprocessor(); virtual bool ComputeVisibility(); void SetupRay(Ray &ray, const Vector3 &point, const Vector3 &direction); KdNode * GetNodeForPvs(KdLeaf *leaf); int AddNodeSamples(Intersectable *object, const Ray &ray, const int pass); void HoleSamplingPass(); }; #endif