light/modules/camera/public/camera.hpp

36 lines
555 B
C++
Raw Normal View History

2025-07-05 13:28:41 +03:30
#pragma once
#include <math/mat4.hpp>
#include <math/vec4.hpp>
2025-07-05 13:28:41 +03:30
2025-07-11 00:05:48 +03:30
namespace lt {
2025-07-05 13:28:41 +03:30
class Camera
{
public:
Camera() = default;
[[nodiscard]] auto get_projection() const -> const math::mat4 &
2025-07-05 13:28:41 +03:30
{
return m_projection;
2025-07-05 13:28:41 +03:30
}
[[nodiscard]] auto get_background_color() const -> const math::vec4 &
2025-07-05 13:28:41 +03:30
{
return m_background_color;
2025-07-05 13:28:41 +03:30
}
void set_background_color(const math::vec4 &color)
2025-07-05 13:28:41 +03:30
{
m_background_color = color;
2025-07-05 13:28:41 +03:30
}
2025-07-06 14:02:50 +03:30
protected:
math::mat4 m_projection;
2025-07-06 14:02:50 +03:30
private:
math::vec4 m_background_color = math::vec4(1.0f, 0.0f, 0.0f, 1.0f);
2025-07-05 13:28:41 +03:30
};
2025-07-11 00:05:48 +03:30
} // namespace lt