Lugdunum  0.1.0
Camera.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include <lug/Math/Matrix.hpp>
5 
6 namespace lug {
7 namespace Graphics {
8 
9 namespace Render {
10 namespace Camera {
11 class Camera;
12 } // Camera
13 } // Render
14 
15 namespace Vulkan {
16 
17 namespace API {
18 class CommandBuffer;
19 } // API
20 
21 namespace Render {
22 namespace BufferPool {
23 
24 class LUG_GRAPHICS_API Camera : public BufferPool<10, sizeof(Math::Mat4x4f) * 2> {
25 public:
26  Camera(Renderer& renderer);
27 
28  Camera(const Camera&) = delete;
29  Camera(Camera&&) = delete;
30 
31  Camera& operator=(const Camera&) = delete;
32  Camera& operator=(Camera&&) = delete;
33 
34  ~Camera() = default;
35 
36  const SubBuffer* allocate(const API::CommandBuffer& cmdBuffer, ::lug::Graphics::Render::Camera::Camera& camera);
37 };
38 
39 } // BufferPool
40 } // Render
41 } // Vulkan
42 } // Graphics
43 } // lug
#define LUG_GRAPHICS_API
Definition: Export.hpp:11