NarcEngine 0.1.1
C++ Vulkan game engine
 
Loading...
Searching...
No Matches
MultiFrameManager.h
1//
2// Created by theoh on 3/10/2025.
3//
4
5#pragma once
6
7#include "FrameHandler.h"
8
9namespace narc_engine {
10 class MultiFrameManager
11 {
12 public:
13 explicit MultiFrameManager(uint32_t maxFrameInFlight);
14 ~MultiFrameManager();
15
16 GETTER const FrameHandler* getCurrentFrameHandler() const { return m_frames[m_currentFrame].get(); }
17
18 void nextFrame();
19 void allocateDescriptorSets(VkDescriptorSetAllocateInfo& allocInfo);
20
21 private:
22 const uint32_t m_maxFrameInFlight;
23
24 std::unique_ptr<DescriptorPool> m_descriptorPool;
25
26 std::vector<std::unique_ptr<FrameHandler> > m_frames;
27 uint32_t m_currentFrame = 0;
28 };
29} // narc_engine
Definition FrameHandler.h:16