source: trunk/VUT/GtpVisibilityPreprocessor/src/VssPreprocessor.h @ 403

Revision 403, 1.1 KB checked in by bittner, 19 years ago (diff)

vvs preprocessor update

Line 
1#ifndef _VssPreprocessor_H__
2#define _VssPreprocessor_H__
3
4#include <fstream>
5using namespace std;
6
7#include "Preprocessor.h"
8#include "VssRay.h"
9class VssTree;
10
11/** Sampling based visibility preprocessing. The implementation is based on heuristical
12    sampling of view space */
13class VssPreprocessor : public Preprocessor {
14public:
15        int mPass;
16  int mSamplesPerPass;
17  int mInitialSamples;
18  int mVssSamples;
19        bool mUseImportanceSampling;
20
21        ofstream mStats;
22       
23  ObjectContainer mObjects;
24
25        // rays cast during the processing
26  VssRayContainer mVssRays;
27       
28  VssPreprocessor();
29  ~VssPreprocessor();
30
31  virtual bool ComputeVisibility();
32
33        Vector3
34        GetViewpoint(AxisAlignedBox3 *viewSpaceBox);
35
36        Vector3
37        GetDirection(const Vector3 &viewpoint);
38       
39  void
40  SetupRay(Ray &ray,
41                                         const Vector3 &point,
42                                         const Vector3 &direction
43                                         );
44
45
46       
47        int
48        CastRay(
49                                        Vector3 &viewPoint,
50                                        Vector3 &direction,
51                                        VssRayContainer &vssRays
52
53                                        );
54               
55
56       
57        virtual bool BuildBspTree() { return false; }
58
59        int
60        RandomizedImportanceSampling(VssTree *vssTree, const int desiredSamples);
61
62};
63
64
65
66#endif
Note: See TracBrowser for help on using the repository browser.