00001 #ifndef CAMERA_H_
00002 #define CAMERA_H_
00003
00004 #include "../math/Vec2D.h"
00005 #include "../math/Point2D.h"
00006 #include "../Ray.h"
00007
00008 namespace rcrt
00009 {
00010
00014 class Camera
00015 {
00016 protected:
00017 int resolutionX;
00018 int resolutionY;
00019
00020 public:
00021 Camera();
00022 virtual ~Camera();
00023
00024 virtual Ray getRay(const Point2D& px) const =0;
00025 virtual void setResolution(const int& resX, const int& resY) =0;
00026 virtual const int& getResolutionX() const;
00027 virtual const int& getResolutionY() const;
00028 virtual const Vec3D& getDirection() =0;
00029 };
00030
00031 }
00032
00033 #endif