23 lines
417 B
C++
23 lines
417 B
C++
#ifndef CAMERA_H
|
|
#define CAMERA_H
|
|
|
|
#include "common/ray.h"
|
|
|
|
class Camera {
|
|
|
|
public:
|
|
// Constructor / Destructor
|
|
Camera() = default;
|
|
virtual ~Camera() = default;
|
|
|
|
// Camera functions
|
|
virtual Ray createRay(float x, float y) const = 0;
|
|
|
|
// Setter methods
|
|
virtual Vector3d getPosition() const = 0;
|
|
virtual Vector3d getRightDirection() const = 0;
|
|
virtual Vector3d getUpDirection() const = 0;
|
|
};
|
|
|
|
|
|
#endif
|