tests and fixes for vector implementation
[MicroTrace.git] / PerspectiveCamera.hxx
1 #ifndef PERSPECTIVECAMERA_HXX
2 #define PERSPECTIVECAMERA_HXX
3
4 #include "Camera.hxx"
5
6 class PerspectiveCamera : public Camera
7 {
8 public:
9 PerspectiveCamera(const Vec3f& pos,
10 const Vec3f& dir,
11 const Vec3f& up,
12 float angle,
13 int resX,
14 int resY
15 );
16 ~PerspectiveCamera();
17
18 virtual bool InitRay(float x, float y, Ray &ray);
19
20 private:
21 //! hidden constructors to prevent misuse. If you need those at some point, just make them public and implement them properly!
22 PerspectiveCamera();
23 PerspectiveCamera(const PerspectiveCamera& c);
24 PerspectiveCamera& operator=(const PerspectiveCamera& c);
25
26 //! input values
27 Vec3f m_pos, m_dir, m_up;
28 float m_angle;
29
30 //! preprocessed values
31 float m_focus;
32 Vec3f m_xAxis, m_yAxis, m_zAxis;
33 float m_aspect;
34 };
35 #endif
This page took 0.04873 seconds and 5 git commands to generate.