40class FGE_API RenderTexture :
public RenderTarget
43 explicit RenderTexture(glm::vec<2, int>
const& size = {1, 1},
45 RenderTexture(RenderTexture
const& r);
46 RenderTexture(RenderTexture&& r)
noexcept;
47 ~RenderTexture()
override;
49 RenderTexture& operator=(RenderTexture
const& r);
50 RenderTexture& operator=(RenderTexture&& r)
noexcept;
52 void resize(glm::vec<2, int>
const& size);
55 uint32_t prepareNextFrame(VkCommandBufferInheritanceInfo
const* inheritanceInfo, uint64_t timeout_ns)
override;
56 void beginRenderPass(uint32_t imageIndex)
override;
57 void endRenderPass()
override;
58 void display(uint32_t imageIndex)
override;
60 Vector2u getSize()
const override;
62 [[nodiscard]] VkExtent2D getExtent2D()
const override;
64 [[nodiscard]] VkRenderPass getRenderPass()
const override;
68 [[nodiscard]] uint32_t getCurrentFrame()
const;
71 void init(glm::vec<2, int>
const& size);
73 void createRenderPass();
74 void createFramebuffer();
78 VkRenderPass g_renderPass;
80 VkFramebuffer g_framebuffer;
82 mutable std::array<fge::vulkan::CommandBuffer, FGE_MAX_FRAMES_IN_FLIGHT> g_commandBuffers;
84 uint32_t g_currentFrame;
Vulkan context.
Definition C_context.hpp:70
Definition C_textureImage.hpp:36