2025-04-26 23:05:11 +02:00
|
|
|
module;
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
|
export module Crafter.Graphics:Camera;
|
2025-04-27 00:05:21 +02:00
|
|
|
import :VulkanBuffer;
|
2025-04-27 22:16:56 +02:00
|
|
|
import Crafter.Component;
|
2025-05-04 05:15:31 +02:00
|
|
|
import Crafter.Math;
|
2025-04-26 23:05:11 +02:00
|
|
|
|
|
|
|
|
namespace Crafter {
|
2025-04-27 22:16:56 +02:00
|
|
|
export class Camera : public Component {
|
|
|
|
|
public:
|
2025-05-05 05:14:47 +02:00
|
|
|
MatrixRowMajor<float, 4, 4, 1> projection;
|
|
|
|
|
MatrixRowMajor<float, 4, 4, 1> view;
|
|
|
|
|
MatrixRowMajor<float, 4, 4, 1> projectionView;
|
2025-05-04 05:15:31 +02:00
|
|
|
Camera(float fov, float aspectRatio, float near, float far);
|
2025-05-05 05:14:47 +02:00
|
|
|
void Update();
|
2025-04-26 23:05:11 +02:00
|
|
|
};
|
|
|
|
|
}
|