CameraBase.hh 438 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <ACGL/Math/Math.hh>

namespace ACGL{
namespace Scene{

/**
 * @brief Common interface for cameras
 */
class CameraBase
{
protected:
    CameraBase();
public:
    virtual ~CameraBase();

    // interface:
    virtual glm::vec3 getPosition() const = 0;
    virtual glm::mat4 getViewMatrix() const = 0;
    virtual glm::mat4 getProjectionMatrix() const = 0;
    virtual glm::uvec2 getViewportSize() const = 0;
};

}
}