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