#pragma once
#include <vectors/vec3.h>
#include <glm/mat4x4.hpp>

namespace render
{

class Camera
{
public:
    vec2f position;
    vec3f rotation;
    vec3f scale;
    vec2f screenSize;
    vec2f offset;

    Camera() noexcept;
    void Bind() noexcept;
    void Math() noexcept;

    const float *GetView() const noexcept;
    const float *GetProj() const noexcept;
    const float *GetProjView() const noexcept;

protected:
    glm::mat4 view, proj, projView;
};

} // namespace render
