2022-11-05 22:08:16 +01:00
|
|
|
#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;
|
2023-01-26 22:56:23 +01:00
|
|
|
|
|
|
|
// Setter methods
|
|
|
|
virtual Vector3d getPosition() const = 0;
|
|
|
|
virtual Vector3d getRightDirection() const = 0;
|
|
|
|
virtual Vector3d getUpDirection() const = 0;
|
2022-11-05 22:08:16 +01:00
|
|
|
};
|
|
|
|
|
2023-01-26 22:56:23 +01:00
|
|
|
|
2022-11-05 22:08:16 +01:00
|
|
|
#endif
|