~ubuntu-branches/ubuntu/maverick/blender/maverick

« back to all changes in this revision

Viewing changes to extern/qdune/hider/RayTraceHider.h

  • Committer: Bazaar Package Importer
  • Author(s): Khashayar Naderehvandi, Khashayar Naderehvandi, Alessio Treglia
  • Date: 2009-01-22 16:53:59 UTC
  • mfrom: (14.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090122165359-v0996tn7fbit64ni
Tags: 2.48a+dfsg-1ubuntu1
[ Khashayar Naderehvandi ]
* Merge from debian experimental (LP: #320045), Ubuntu remaining changes:
  - Add patch correcting header file locations.
  - Add libvorbis-dev and libgsm1-dev to Build-Depends.
  - Use avcodec_decode_audio2() in source/blender/src/hddaudio.c

[ Alessio Treglia ]
* Add missing previous changelog entries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef _RAYTRACEHIDER_H
2
 
#define _RAYTRACEHIDER_H
3
 
 
4
 
#include "Hider.h"
5
 
#include "RenderBucket.h"
6
 
#include "ri.h"
7
 
#include "Camera.h"
8
 
 
9
 
#include "QDRender.h"
10
 
__BEGIN_QDRENDER
11
 
 
12
 
class MicroPolygon;
13
 
class Attributes;
14
 
class Options;
15
 
class FrameBuffer;
16
 
 
17
 
class RayTraceHider : public Hider
18
 
{
19
 
public:
20
 
        RayTraceHider(const Attributes& attr, const Options& opt);
21
 
        virtual ~RayTraceHider();
22
 
        virtual void worldBegin();
23
 
        virtual void worldEnd();
24
 
        virtual void insert(Primitive*);
25
 
        virtual void remove(const Primitive*);
26
 
        virtual bool bucketBegin();
27
 
        virtual Primitive *firstPrim();
28
 
        virtual void hide(MicroPolygonGrid &g);
29
 
        virtual Color trace(const Point3 &p, const Vector &r);
30
 
        virtual void bucketEnd();
31
 
 
32
 
        //virtual int inFrustum(Primitive* p);
33
 
 
34
 
        virtual unsigned int gridSize();
35
 
        virtual float rasterEstimate(const Bound &b);
36
 
        virtual float rasterEstimate(const Point3 &p0, const Point3 &p1);
37
 
 
38
 
        // for Z files, no shading needed, only need to know depth data
39
 
        virtual bool noShading() const { return no_shading; }
40
 
 
41
 
protected:
42
 
        // local camera because of sampling at higher resolution
43
 
        Camera lcam;
44
 
 
45
 
        RtFilterFunc pixelfilter;
46
 
        float xwidth, ywidth;
47
 
        int X_ftmax, X_xt_smp, Y_ftmax, Y_xt_smp;
48
 
 
49
 
        float *pixbuf;
50
 
        int xsize, ysize, xsamples, ysamples;
51
 
        int bucketsize;
52
 
        float jitter, shmin, shmax;
53
 
        bool empty_pixbuf, no_shading, has_z, only_z;
54
 
 
55
 
        // buckets
56
 
        typedef std::vector<Bucket>::iterator BucketIterator;
57
 
        BucketIterator cur_bucket;
58
 
        unsigned int bucket_sizeX, bucket_sizeY;
59
 
        std::vector<Bucket> buckets;
60
 
 
61
 
        float dof_sp;
62
 
        bool sample_dof, sample_motion;
63
 
};
64
 
 
65
 
__END_QDRENDER
66
 
 
67
 
#endif //_RAYTRACEHIDER_H